1500 |
How can I add a Zero-Lenght bar
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oColumns LOCAL oItems LOCAL h1 oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:MarkSearchColumn := .F. oColumns := oG2antt:Columns() oColumns:Add("Tasks") oColumns:Add("Start"):SetProperty("Def",18/*exCellValueToItemBarProperty*/,1) oColumns:Add("End"):SetProperty("Def",18/*exCellValueToItemBarProperty*/,2) oColumns:Add("Duration"):SetProperty("Def",18/*exCellValueToItemBarProperty*/,258) oChart := oG2antt:Chart() oChart:FirstVisibleDate := "09/20/2010" oChart:LevelCount := 2 oChart:SetProperty("PaneWidth",.F.,256) oChart:AllowLinkBars := .F. oItems := oG2antt:Items() oItems:AllowCellValueToItemBar := .T. h1 := oItems:AddItem("M1") oItems:AddBar(h1,"Milestone","09/29/2010","09/29/2010") oItems:SetProperty("ItemBar",h1,"",20/*exBarKeepWorkingCount*/,.T.) oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1499 |
Can I use bars like Milestone (Zero-Length bar) in SchedulePDM
PROCEDURE OnBarResizing(oG2antt,Item,Key) DevOut( Transform(oG2antt:Items:SchedulePDM(Item,Key),"") ) RETURN #include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oColumns LOCAL oConditionalFormat,oConditionalFormat1 LOCAL oItems LOCAL h1,h2,h3,h4 oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BarResizing := {|Item,Key| OnBarResizing(oG2antt,Item,Key)} /*Occurs when a bar is moving or resizing.*/ oG2antt:BeginUpdate() oG2antt:MarkSearchColumn := .F. oColumns := oG2antt:Columns() oColumns:Add("Tasks") oColumns:Add("Start"):SetProperty("Def",18/*exCellValueToItemBarProperty*/,1) oColumns:Add("End"):SetProperty("Def",18/*exCellValueToItemBarProperty*/,543) oColumns:Add("Duration"):SetProperty("Def",18/*exCellValueToItemBarProperty*/,258) oConditionalFormat := oG2antt:ConditionalFormats():Add("%3") oConditionalFormat:Bold := .T. oConditionalFormat:ApplyTo := -1/*exFormatToItems*/ oConditionalFormat1 := oG2antt:ConditionalFormats():Add("%3 = 0") oConditionalFormat1:SetProperty("ForeColor",AutomationTranslateColor( GraMakeRGBColor ( { 196,196,196 } ) , .F. )) oConditionalFormat1:ApplyTo := 3/*0x3+*/ oChart := oG2antt:Chart() oChart:FirstVisibleDate := "09/20/2010" oChart:LevelCount := 2 oChart:SetProperty("PaneWidth",.F.,256) oChart:Bars():Add("Task:Split"):Shortcut := "Task" oItems := oG2antt:Items() oItems:AllowCellValueToItemBar := .T. h1 := oItems:AddItem("M1") oItems:AddBar(h1,"Milestone","09/27/2010","09/27/2010") oItems:SetProperty("ItemBar",h1,"",20/*exBarKeepWorkingCount*/,.T.) h2 := oItems:AddItem("T1") oItems:AddBar(h2,"Task","09/27/2010","09/27/2010") oItems:SetProperty("ItemBar",h2,"",543/*exBarEndInclusive*/,"09/27/2010") oItems:SetProperty("ItemBar",h2,"",20/*exBarKeepWorkingCount*/,.T.) oItems:AddLink("L1",h1,"",h2,"") h3 := oItems:AddItem("T2") oItems:AddBar(h3,"Task","09/27/2010","09/27/2010") oItems:SetProperty("ItemBar",h3,"",543/*exBarEndInclusive*/,"09/27/2010") oItems:SetProperty("ItemBar",h3,"",20/*exBarKeepWorkingCount*/,.T.) oItems:AddLink("L2",h1,"",h3,"") oItems:SetProperty("Link","L2",16/*exLinkPDMWorkingDelay*/,5) h4 := oItems:AddItem("M3") oItems:AddBar(h4,"Milestone","09/27/2010","09/27/2010") oItems:SetProperty("ItemBar",h4,"",20/*exBarKeepWorkingCount*/,.F.) oItems:AddLink("L3",h1,"",h4,"") oItems:SetProperty("Link","L3",16/*exLinkPDMWorkingDelay*/,5) oItems:SchedulePDM(0,"") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1498 |
How can I prevent vertical scrolling when user clicks the overview part of the control
PROCEDURE OnAddItem(oG2antt,Item) LOCAL oItems oItems := oG2antt:Items() oItems:AddBar(Item,"Task",oItems:CellValue(Item,2),oItems:CellValue(Item,4)) RETURN #include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL rs oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:AddItem := {|Item| OnAddItem(oG2antt,Item)} /*Occurs after a new Item has been inserted to Items collection.*/ oG2antt:BeginUpdate() oChart := oG2antt:Chart() oChart:FirstVisibleDate := "08/03/1994" oChart:SetProperty("PaneWidth",.F.,256) oChart:LevelCount := 2 oChart:UnitScale := 4096/*exDay*/ oChart:FirstWeekDay := 1/*exMonday*/ oChart:OverviewVisible := 2/*exOverviewShowAllVisible*/ oG2antt:ColumnAutoResize := .F. oG2antt:ContinueColumnScroll := .F. rs := CreateObject("ADOR.Recordset") rs:Open("Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExG2antt\Sample\Access\misc.accdb",3/*adOpenStatic*/,3/*adLockOptimistic*/) oG2antt:DataSource := rs oG2antt:Items():AllowCellValueToItemBar := .T. oG2antt:Columns:Item(2):SetProperty("Def",18/*exCellValueToItemBarProperty*/,1) oG2antt:Columns:Item(4):SetProperty("Def",18/*exCellValueToItemBarProperty*/,2) oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1497 |
I need to specify the start and end dates of the bar to be the same, but no bars are shown. (recommended for bars with exBarKeepWorkingCount ) What I can do
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oColumns LOCAL oItems LOCAL h oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:MarkSearchColumn := .F. oColumns := oG2antt:Columns() oColumns:Add("Tasks") oColumns:Add("Start"):SetProperty("Def",18/*exCellValueToItemBarProperty*/,1) oColumns:Add("End"):SetProperty("Def",18/*exCellValueToItemBarProperty*/,543) oChart := oG2antt:Chart() oChart:FirstVisibleDate := "09/20/2006" oChart:LevelCount := 2 oChart:SetProperty("PaneWidth",.F.,256) oChart:ShowEmptyBars := 0 oItems := oG2antt:Items() oItems:AllowCellValueToItemBar := .T. h := oItems:AddItem("Task 1") oItems:AddBar(h,"Task","09/21/2006","09/21/2006") oItems:SetProperty("ItemBar",h,"",543/*exBarEndInclusive*/,oItems:ItemBar(h,"",1/*exBarStart*/)) oItems:SetProperty("ItemBar",h,"",20/*exBarKeepWorkingCount*/,.T.) h := oItems:AddItem("Task 2") oItems:AddBar(h,"Task","09/21/2006","09/21/2006") oItems:SetProperty("ItemBar",h,"",543/*exBarEndInclusive*/,"09/25/2006") oItems:SetProperty("ItemBar",h,"",20/*exBarKeepWorkingCount*/,.T.) oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1496 |
How can I display the end date to be the last visible date of task, instead the next day
PROCEDURE OnBarResize(oG2antt,Item,Key) oG2antt:Items():SchedulePDM(Item,Key) RETURN PROCEDURE OnBarResizing(oG2antt,Item,Key) oG2antt:Items():SchedulePDM(Item,Key) RETURN #include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oColumn LOCAL oColumns LOCAL oConditionalFormat LOCAL oItems LOCAL h1,h2 oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BarResize := {|Item,Key| OnBarResize(oG2antt,Item,Key)} /*Occurs when a bar is moved or resized.*/ oG2antt:BarResizing := {|Item,Key| OnBarResizing(oG2antt,Item,Key)} /*Occurs when a bar is moving or resizing.*/ oG2antt:BeginUpdate() oG2antt:MarkSearchColumn := .F. oG2antt:HeaderHeight := 36 oColumns := oG2antt:Columns() oColumns:Add("Tasks") oColumns:Add("Start"):SetProperty("Def",18/*exCellValueToItemBarProperty*/,1) oColumn := oColumns:Add("End") oColumn:HTMLCaption := "<b>End</b><br>Inclusive" oColumn:SetProperty("Def",18/*exCellValueToItemBarProperty*/,543) oColumn:Editor():EditType := 7/*DateType*/ oColumns:Add("End"):SetProperty("Def",18/*exCellValueToItemBarProperty*/,2) oConditionalFormat := oG2antt:ConditionalFormats():Add(Transform(1,"")) oConditionalFormat:Bold := .T. oConditionalFormat:ApplyTo := 2/*0x2+*/ oChart := oG2antt:Chart() oChart:FirstVisibleDate := "09/20/2006" oChart:LevelCount := 2 oChart:SetProperty("PaneWidth",.F.,256) oChart:Bars():Add("Task:Split"):Shortcut := "Task" oItems := oG2antt:Items() oItems:AllowCellValueToItemBar := .T. h1 := oItems:AddItem("Task 1") oItems:AddBar(h1,"Task","09/21/2006","09/23/2006") h2 := oItems:AddItem("Task 2") oItems:AddBar(h2,"Task","09/21/2006","09/26/2006") oItems:AddLink("link",h1,"",h2,"") oItems:SetProperty("ItemBar",0,"<*>",20/*exBarKeepWorkingCount*/,.T.) oItems:SchedulePDM(0,"") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1495 |
How do I hide the selection
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oColumn LOCAL oColumns LOCAL oItems oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:MarkSearchColumn := .F. oG2antt:SetProperty("SelForeColor",oG2antt:ForeColor()) oG2antt:SetProperty("SelBackColor",oG2antt:BackColor()) oG2antt:ShowFocusRect := .F. oColumns := oG2antt:Columns() oColumn := oColumns:Add("Format") oColumn:FormatColumn := "type(value) in (0,1) ? 'null' : ( dbl(value)<0 ? '<fgcolor=FF0000>'+ (value format '2|.|3|,|1' ) : (dbl(value)>0 ? '<fgcolor=0000FF>+'+(value format '2|.|3|,' ): '0.00') )" oColumn:SetProperty("Def",17/*exCellValueFormat*/,1) oItems := oG2antt:Items() oItems:AddItem(10) oItems:AddItem(-8) oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1494 |
How do I access the cells, or how do I get the values in the columns
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oColumns LOCAL oItems LOCAL h oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oColumns := oG2antt:Columns() oColumns:Add("C1") oColumns:Add("C2") oColumns:Add("C3") oItems := oG2antt:Items() h := oItems:AddItem("Item 1") oItems:SetProperty("CellValue",h,1,"SubItem 1.1") oItems:SetProperty("CellValue",h,2,"SubItem 1.2") DevOut( Transform(oItems:CellValue(h,1),"") ) oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1493 |
Is there any function I can use to indicate the Now() when using the ComputedFields, CondtionalFormats, ...
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:Columns():Add("Now"):ComputedField := "date(``)" oG2antt:Items():AddItem("") oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1492 |
How can I get the start and end points of the bar once the BarResize event occurs
PROCEDURE OnBarResize(oG2antt,Item,Key) DevOut( "Start: " ) DevOut( Transform(oG2antt:Items:ItemBar(Item,Key,1/*exBarStart*/),"") ) DevOut( "End: " ) DevOut( Transform(oG2antt:Items:ItemBar(Item,Key,2/*exBarEnd*/),"") ) RETURN #include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL var_Bar LOCAL oChart LOCAL oItems oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BarResize := {|Item,Key| OnBarResize(oG2antt,Item,Key)} /*Occurs when a bar is moved or resized.*/ oG2antt:BeginUpdate() oChart := oG2antt:Chart() oChart:FirstVisibleDate := "12/31/2009" oChart:LevelCount := 2 oChart:SetProperty("PaneWidth",.F.,96) var_Bar := oChart:Bars:Item("Task") oG2antt:Columns():Add("Types") oItems := oG2antt:Items() oItems:AddBar(oItems:AddItem("Task 1"),"Task","01/04/2010","01/09/2010","") oItems:AddBar(oItems:AddItem("Task 2"),"Task","01/04/2010","01/09/2010","") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1491 |
My chart displays hours, the question would be if possible to let user resizes the bars up to 1/2 hour, or a half an hour
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oItems oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:DefaultItemHeight := 22 oG2antt:Columns():Add("Task") oChart := oG2antt:Chart() oChart:AllowCreateBar := 1/*exCreateBarAuto*/ oChart:LevelCount := 2 oChart:UnitScale := 65536/*exHour*/ oChart:ResizeUnitScale := 1048576/*exMinute*/ oChart:ResizeUnitCount := 30 oChart:SetProperty("PaneWidth",.F.,48) oChart:FirstVisibleDate := "01/01/2001" oChart:DrawGridLines := -1/*exAllLines*/ oChart:Level(1):DrawGridLines := .T. oItems := oG2antt:Items() oItems:AddItem("Task") oItems:AddItem("Task") oItems:AddItem("Task") oItems:AddItem("Task") oItems:AddItem("Task") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1490 |
How can I show the dates in the title
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oChart := oG2antt:Chart() oChart:FirstVisibleDate := "12/30/2002" oChart:LevelCount := 2 oChart:SetProperty("PaneWidth",.F.,0) oChart:UnitScale := 65536/*exHour*/ oChart:DrawGridLines := -1/*exAllLines*/ oChart:Level(0):Alignment := 17/*exHOutside+CenterAlignment*/ oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1489 |
If I vertically scroll the control the image flows fluently. But when I scroll on the horizontal chart's scrollbar the images only shows after I release the click button. Can I make it scroll fluently like the vertical scrollbar
|
1488 |
How can I programmatically add a bar during the CreateBar event
PROCEDURE OnCreateBar(oG2antt,Item,DateStart,DateEnd) LOCAL oItems LOCAL k oItems := oG2antt:Items() k := oItems:ItemBar(Item,"",256/*exBarsCount*/) oItems:AddBar(Item,"Order",DateStart,DateEnd,k,"your text") DevOut( Transform(oG2antt:Items:ItemBar(Item,"",256/*exBarsCount*/),"") ) RETURN #include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oItems oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:CreateBar := {|Item,DateStart,DateEnd| OnCreateBar(oG2antt,Item,DateStart,DateEnd)} /*Fired when the user creates a new bar.*/ oG2antt:BeginUpdate() oG2antt:Columns():Add("Tasks") oChart := oG2antt:Chart() oChart:AllowCreateBar := -1/*exCreateBarManual*/ oChart:SetProperty("PaneWidth",.F.,48) oChart:FirstVisibleDate := "12/28/2000" oChart:LevelCount := 2 oChart:Bars():CallMethod("Copy","Task","Order") oItems := oG2antt:Items() oItems:AddItem(1) oItems:AddItem(2) oItems:AddItem(3) oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1487 |
How can I move more bars by code
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oItems oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:Columns():Add("Tasks") oChart := oG2antt:Chart() oChart:FirstVisibleDate := "01/01/2001" oChart:LevelCount := 2 oChart:SetProperty("PaneWidth",.F.,48) oItems := oG2antt:Items() oItems:AddBar(oItems:AddItem("Task 1"),"Task","01/01/2001","01/06/2001","A") oItems:AddBar(oItems:AddItem("Task 2"),"Task","01/02/2001","01/07/2001","B") oItems:SetProperty("ItemBar",0,"<*>",514/*exBarMove*/,1) oItems:SetProperty("ItemBar",0,"<A*>",514/*exBarMove*/,1) oItems:SetProperty("ItemBar",0,"<B*>",514/*exBarMove*/,1) oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1486 |
How can I move a bar by code
|
1485 |
How can I clip the notes to the items zone only
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oItems LOCAL oNote LOCAL oNotes LOCAL h oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:Images("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yNAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=") oG2antt:AntiAliasing := .T. oG2antt:Columns():Add("Task") oChart := oG2antt:Chart() oChart:FirstVisibleDate := "01/01/2001" oChart:SetProperty("PaneWidth",.F.,96) oChart:LevelCount := 2 oItems := oG2antt:Items() oItems:AddItem() h := oItems:AddItem("Task 1") oItems:AddBar(h,"Task","01/05/2001","01/08/2001","1") oNotes := oG2antt:Chart():Notes() oNote := oNotes:Add("1",oG2antt:Items():ItemByIndex(1),"1","<img>2</img>") oNote:SetProperty("PartShadow",1/*exNoteEnd*/,.F.) oNote:SetProperty("PartBorderSize",1/*exNoteEnd*/,0) oNote:ClearPartBackColor(1/*exNoteEnd*/) oNote:SetProperty("PartCanMove",1/*exNoteEnd*/,.T.) oNote:RelativePosition := 0.5 oNote:SetProperty("PartVOffset",1/*exNoteEnd*/,-36) oNotes:ClipTo := 2/*exNotesClipToItems*/ oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1484 |
How can I put two bars of various types, in the event of conflict do not coincide
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oBar,oBar1 LOCAL oChart LOCAL oItems LOCAL h,h1 oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:DefaultItemHeight := 22 oG2antt:Columns():Add("Task") oG2antt:ScrollBySingleLine := .T. oG2antt:SetProperty("BackColorAlternate",AutomationTranslateColor( GraMakeRGBColor ( { 240,240,240 } ) , .F. )) oChart := oG2antt:Chart() oChart:SetProperty("PaneWidth",.F.,48) oChart:FirstVisibleDate := "12/28/2000" oChart:LevelCount := 2 oBar := oChart:Bars:Item("Task") oBar:OverlaidType := 515/*exOverlaidBarsStackAutoArrange+exOverlaidBarsStack*/ oBar:OverlaidGroup := "NewTask" oBar1 := oChart:Bars():CallMethod("Copy","Task","NewTask") oBar1:OverlaidType := 515/*exOverlaidBarsStackAutoArrange+exOverlaidBarsStack*/ oBar1:OverlaidGroup := "Task" oBar1:SetProperty("Color",AutomationTranslateColor( GraMakeRGBColor ( { 255,0,0 } ) , .F. )) oItems := oG2antt:Items() h1 := oItems:AddItem("Default") h := oItems:AddItem("Overlaid") oItems:AddBar(h,"Task","01/02/2001","01/04/2001","A1","A1") oItems:AddBar(h,"NewTask","01/03/2001","01/05/2001","A2","A2") oItems:AddBar(h,"NewTask","01/04/2001","01/07/2001","A3","A3") oItems:AddBar(h,"Task","01/04/2001","01/07/2001","A4","A4") h1 := oItems:AddItem("Default") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1483 |
How can I run trigger an event which, after clicking on the item/bar gives the key/name or item id
PROCEDURE OnMouseDown(oG2antt,Button,Shift,X,Y) LOCAL item,key item := oG2antt:ItemFromPoint(-1,-1,column,hit) key := oG2antt:Chart:BarFromPoint(-1,-1) DevOut( "Item:" ) DevOut( Transform(item,"") ) DevOut( "Key:" ) DevOut( Transform(key,"") ) DevOut( "CellValue(i,0):" ) DevOut( Transform(oG2antt:Items:CellValue(item,0),"") ) oG2antt:Items():SetProperty("ItemBar",item,key,33/*exBarColor*/,255) RETURN #include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oItems LOCAL h1,h2,h3 oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:MouseDown := {|Button,Shift,X,Y| OnMouseDown(oG2antt,Button,Shift,X,Y)} /*Occurs when the user presses a mouse button.*/ oG2antt:BeginUpdate() oG2antt:Columns():Add("Task") oChart := oG2antt:Chart() oChart:FirstVisibleDate := "12/29/2000" oChart:SetProperty("PaneWidth",.F.,64) oChart:LevelCount := 2 oItems := oG2antt:Items() h1 := oItems:AddItem("Task 1") oItems:AddBar(h1,"Task","01/02/2001","01/04/2001","K1") h2 := oItems:AddItem("Task 2") oItems:AddBar(h2,"Task","01/04/2001","01/06/2001","K2") oItems:AddLink("L1",h1,"K1",h2,"K2") h3 := oItems:AddItem("Task 3") oItems:AddBar(h3,"Task","01/08/2001","01/10/2001","K3") oItems:AddLink("L2",h2,"K2",h3,"K3") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1482 |
How can I change the check-boxes appearance
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oAppearance LOCAL oColumn LOCAL oItems LOCAL h oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:LinesAtRoot := -1/*exLinesAtRoot*/ oColumn := oG2antt:Columns():Add("Default") oColumn:SetProperty("Def",0/*exCellHasCheckBox*/,.T.) oColumn:PartialCheck := .T. oItems := oG2antt:Items() h := oItems:AddItem("Root") oItems:InsertItem(h,,"Child 1") oItems:InsertItem(h,,"Child 2") oItems:SetProperty("ExpandItem",h,.T.) oAppearance := oG2antt:VisualAppearance() oAppearance:Add(1,"XP:Button 3 12") oAppearance:Add(2,"XP:Button 3 11") oAppearance:Add(3,"XP:Button 3 10") oG2antt:SetProperty("CheckImage",0/*Unchecked*/,16777216) oG2antt:SetProperty("CheckImage",1/*Checked*/,33554432) oG2antt:SetProperty("CheckImage",2/*PartialChecked*/,50331648) oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1481 |
How can I change the color for the control's split bar (sample 1)
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:Columns():Add("Default") oG2antt:SetProperty("Background",18/*exSplitBar*/,AutomationTranslateColor( GraMakeRGBColor ( { 0,0,1 } ) , .F. )) oG2antt:SetProperty("BackColorLevelHeader",oG2antt:BackColor()) oChart := oG2antt:Chart() oChart:LevelCount := 2 oChart:SetProperty("PaneWidth",.F.,64) oChart:HistogramVisible := .T. oChart:HistogramHeight := 64 oChart:OverviewHeight := 48 oChart:OverviewVisible := -1/*exOverviewShowAll*/ oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1480 |
Is it possible to display ONLY the working hours
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oLevel,oLevel1 oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oChart := oG2antt:Chart() oChart:FirstVisibleDate := "01/01/2001" oChart:LevelCount := 2 oLevel := oChart:Level(0) oLevel:Label := 4096 oLevel:Alignment := 17/*exHOutside+CenterAlignment*/ oLevel1 := oChart:Level(1) oLevel1:Label := "<%hh%>" oLevel1:Count := 6 oChart:UnitWidth := 26 oChart:SetProperty("PaneWidth",.F.,0) oChart:NonworkingHours := 15728895 oChart:ShowNonworkingUnits := .F. oChart:ShowNonworkingHours := .F. oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1479 |
How can I display the end of the day in the chart's header
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oLevel,oLevel1 oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oChart := oG2antt:Chart() oChart:FirstVisibleDate := "01/01/2001" oChart:LevelCount := 2 oLevel := oChart:Level(0) oLevel:Label := 4096 oLevel:Alignment := 17/*exHOutside+CenterAlignment*/ oLevel1 := oChart:Level(1) oLevel1:Label := "<%hh%>" oLevel1:Count := 6 oLevel1:SetProperty("ReplaceLabel","08","<b>8</b> <font ;6>am") oLevel1:SetProperty("ReplaceLabel","14","<b>8</b> <font ;6>pm") oChart:UnitWidth := 26 oChart:SetProperty("PaneWidth",.F.,0) oChart:NonworkingHours := 15728895 oChart:ShowNonworkingUnits := .F. oChart:ShowNonworkingHours := .F. oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1478 |
How can I display the +/- expanding buttons in the chart section
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oColumn LOCAL oItems LOCAL h oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:LinesAtRoot := -1/*exLinesAtRoot*/ oG2antt:Indent := 13 oG2antt:HasButtons := 3/*exWPlus*/ oChart := oG2antt:Chart() oChart:FirstVisibleDate := "12/25/2010" oChart:LevelCount := 2 oChart:SetProperty("PaneWidth",.F.,0) oChart:ColumnsFormatLevel := "0" oChart:SetProperty("SelBackColor",oG2antt:SelBackColor()) oChart:SetProperty("SelForeColor",oG2antt:SelForeColor()) oColumn := oG2antt:Columns():Add("P1") oColumn:SetProperty("Def",0/*exCellHasCheckBox*/,.T.) oColumn:PartialCheck := .T. oItems := oG2antt:Items() h := oItems:AddItem("Root") oItems:AddBar(oItems:InsertItem(h,,"Child 1"),"Task","01/02/2011","01/05/2011") oItems:AddBar(oItems:InsertItem(h,,"Child 2"),"Task","01/04/2011","01/07/2011") oItems:AddBar(oItems:InsertItem(h,,"Child 3"),"Task","01/07/2011","01/08/2011") oItems:SetProperty("ExpandItem",h,.T.) oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1477 |
Is it possible to display the columns in the chart aligned to the right
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oColumn LOCAL oItems oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:DefaultItemHeight := 24 oG2antt:Columns():Add("Tasks") oColumn := oG2antt:Columns():Add("Key") oColumn:SetProperty("Def",18/*exCellValueToItemBarProperty*/,0) oColumn:Visible := .F. oColumn:Alignment := 2/*RightAlignment*/ oChart := oG2antt:Chart() oChart:FirstVisibleDate := "12/30/2000" oChart:LevelCount := 2 oChart:SetProperty("PaneWidth",.F.,0) oChart:ColumnsFormatLevel := "|,1:52" oItems := oG2antt:Items() oItems:AllowCellValueToItemBar := .T. oItems:AddBar(oItems:AddItem("Task 1"),"Task","01/03/2001","01/07/2001") oItems:AddBar(oItems:AddItem("Task 2"),"Split","01/03/2001","01/07/2001") oItems:AddBar(oItems:AddItem("Task 3"),"Progress","01/03/2001","01/07/2001") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1476 |
How can I display a border in the chart
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oColumn LOCAL oItems oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:DefaultItemHeight := 24 oG2antt:Columns():Add("Tasks") oColumn := oG2antt:Columns():Add("Key") oColumn:SetProperty("Def",18/*exCellValueToItemBarProperty*/,0) oColumn:Visible := .F. oColumn:Alignment := 1/*CenterAlignment*/ oColumn:SetProperty("Def",5/*exCellForeColor*/,255) oChart := oG2antt:Chart() oChart:FirstVisibleDate := "12/30/2000" oChart:LevelCount := 2 oChart:SetProperty("PaneWidth",.F.,0) oChart:ColumnsFormatLevel := "1:52,\" + CHR(34) + "\" + CHR(34) + "[bg=255]:2" oItems := oG2antt:Items() oItems:AllowCellValueToItemBar := .T. oItems:AddBar(oItems:AddItem("Task 1"),"Task","01/03/2001","01/07/2001") oItems:AddBar(oItems:AddItem("Task 2"),"Split","01/03/2001","01/07/2001") oItems:AddBar(oItems:AddItem("Task 3"),"Progress","01/03/2001","01/07/2001") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1475 |
How can I change the font to display the columns in the chart (Method 2)
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oColumn LOCAL oConditionalFormat LOCAL oItems oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:DefaultItemHeight := 24 oG2antt:Columns():Add("Tasks") oColumn := oG2antt:Columns():Add("Key") oColumn:SetProperty("Def",18/*exCellValueToItemBarProperty*/,0) oColumn:Visible := .F. oConditionalFormat := oG2antt:ConditionalFormats():Add(Transform(1,"")) oConditionalFormat:Bold := .T. oConditionalFormat:ApplyTo := 1/*0x1+*/ oChart := oG2antt:Chart() oChart:FirstVisibleDate := "12/30/2000" oChart:LevelCount := 2 oChart:SetProperty("PaneWidth",.F.,48) oChart:ColumnsFormatLevel := "1" oItems := oG2antt:Items() oItems:AllowCellValueToItemBar := .T. oItems:AddBar(oItems:AddItem("Task 1"),"Task","01/03/2001","01/07/2001") oItems:AddBar(oItems:AddItem("Task 2"),"Split","01/03/2001","01/07/2001") oItems:AddBar(oItems:AddItem("Task 3"),"Progress","01/03/2001","01/07/2001") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1474 |
How can I change the font to display the columns in the chart (Method 1)
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oColumn LOCAL oItems LOCAL oStdFont oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:DefaultItemHeight := 24 oG2antt:Columns():Add("Tasks") oColumn := oG2antt:Columns():Add("Key") oColumn:SetProperty("Def",18/*exCellValueToItemBarProperty*/,0) oColumn:Visible := .F. oChart := oG2antt:Chart() oChart:FirstVisibleDate := "12/30/2000" oChart:LevelCount := 2 oChart:SetProperty("PaneWidth",.F.,48) oChart:ColumnsFormatLevel := "1" oChart:ColumnsFont := oG2antt:Font() oStdFont := oChart:ColumnsFont() oStdFont:Size := 12 oStdFont:Name := "Tahoma" oItems := oG2antt:Items() oItems:AllowCellValueToItemBar := .T. oItems:AddBar(oItems:AddItem("Task 1"),"Task","01/03/2001","01/07/2001") oItems:AddBar(oItems:AddItem("Task 2"),"Split","01/03/2001","01/07/2001") oItems:AddBar(oItems:AddItem("Task 3"),"Progress","01/03/2001","01/07/2001") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1473 |
How can I change the column's background color when it is displayed on the chart (Method 2)
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oColumn LOCAL oItems oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:Columns():Add("Tasks") oColumn := oG2antt:Columns():Add("Key") oColumn:SetProperty("Def",18/*exCellValueToItemBarProperty*/,0) oColumn:Visible := .F. oChart := oG2antt:Chart() oChart:FirstVisibleDate := "12/30/2000" oChart:LevelCount := 2 oChart:SetProperty("PaneWidth",.F.,48) oChart:ColumnsFormatLevel := "1[bg=255]:52" oItems := oG2antt:Items() oItems:AllowCellValueToItemBar := .T. oItems:AddBar(oItems:AddItem("Task 1"),"Task","01/03/2001","01/07/2001") oItems:AddBar(oItems:AddItem("Task 2"),"Split","01/03/2001","01/07/2001") oItems:AddBar(oItems:AddItem("Task 3"),"Progress","01/03/2001","01/07/2001") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1472 |
How can I change the column's background color when it is displayed on the chart (Method 1)
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oColumn LOCAL oItems oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:Columns():Add("Tasks") oColumn := oG2antt:Columns():Add("Key") oColumn:SetProperty("Def",18/*exCellValueToItemBarProperty*/,0) oColumn:Visible := .F. oColumn:SetProperty("Def",4/*exCellBackColor*/,15790320) oChart := oG2antt:Chart() oChart:FirstVisibleDate := "12/30/2000" oChart:LevelCount := 2 oChart:SetProperty("PaneWidth",.F.,48) oChart:ColumnsFormatLevel := "1:52" oItems := oG2antt:Items() oItems:AllowCellValueToItemBar := .T. oItems:AddBar(oItems:AddItem("Task 1"),"Task","01/03/2001","01/07/2001") oItems:AddBar(oItems:AddItem("Task 2"),"Split","01/03/2001","01/07/2001") oItems:AddBar(oItems:AddItem("Task 3"),"Progress","01/03/2001","01/07/2001") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1471 |
Can the chart display any column
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oColumn,oColumn1 LOCAL oItems oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:Columns():Add("Tasks") oColumn := oG2antt:Columns():Add("Start") oColumn:SetProperty("Def",18/*exCellValueToItemBarProperty*/,1) oColumn:Visible := .F. oColumn:Alignment := 0/*LeftAlignment*/ oColumn1 := oG2antt:Columns():Add("End") oColumn1:SetProperty("Def",18/*exCellValueToItemBarProperty*/,2) oColumn1:Visible := .F. oColumn1:Alignment := 2/*RightAlignment*/ oChart := oG2antt:Chart() oChart:FirstVisibleDate := "01/01/2001" oChart:LevelCount := 2 oChart:SetProperty("PaneWidth",.F.,48) oChart:ColumnsFormatLevel := "1:52,|,2:52" oItems := oG2antt:Items() oItems:AllowCellValueToItemBar := .T. oItems:AddBar(oItems:AddItem("Task 1"),"Task","01/03/2001","01/07/2001") oItems:AddBar(oItems:AddItem("Task 2"),"Task","01/04/2001","01/08/2001") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1470 |
Is it possible to display a check-box column on the chart
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oColumn LOCAL oItems oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:Columns():Add("Tasks") oColumn := oG2antt:Columns():Add("Check") oColumn:SetProperty("Def",0/*exCellHasCheckBox*/,.T.) oColumn:Visible := .F. oChart := oG2antt:Chart() oChart:FirstVisibleDate := "01/01/2001" oChart:LevelCount := 2 oChart:SetProperty("PaneWidth",.F.,48) oChart:ColumnsFormatLevel := "1" oItems := oG2antt:Items() oItems:AddBar(oItems:AddItem("Task 1"),"Task","01/03/2001","01/07/2001") oItems:AddBar(oItems:AddItem("Task 2"),"Task","01/04/2001","01/08/2001") oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1469 |
Is it possible to disable the cell's editor context menu
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oEditor LOCAL oItems oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oEditor := oG2antt:Columns():Add("Edit"):Editor() oEditor:EditType := 1/*EditType*/ oEditor:SetProperty("Option",202/*exEditAllowContextMenu*/,.F.) oItems := oG2antt:Items() oItems:AddItem(10) oItems:AddItem(20) oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1468 |
How can I find a value in a drop down editor
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oEditor,oEditor1 LOCAL oItems oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oEditor := oG2antt:Columns():Add("DropDownList"):Editor() oEditor:EditType := 3/*DropDownListType*/ oEditor:AddItem(1,"DDList 1") oEditor:AddItem(2,"DDList 2") oEditor:AddItem(3,"DDList 3") oEditor1 := oG2antt:Columns():Add("DropDown"):Editor() oEditor1:EditType := 2/*DropDownType*/ oEditor1:AddItem(1,"DDType 1") oEditor1:AddItem(2,"DDType 2") oEditor1:AddItem(3,"DDType 3") oItems := oG2antt:Items() oItems:SetProperty("CellValue",:AddItem(1),1,oG2antt:Columns:Item(1):Editor():FindItem(1)) oItems:SetProperty("CellValue",:AddItem(2),1,oG2antt:Columns:Item(1):Editor():FindItem(2)) oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1467 |
What is the difference between DropDownType and DropDownListType
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oEditor,oEditor1 LOCAL oItems oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oEditor := oG2antt:Columns():Add("DropDownList"):Editor() oEditor:EditType := 3/*DropDownListType*/ oEditor:AddItem(1,"First item") oEditor:AddItem(2,"Second item") oEditor:AddItem(3,"Third item") oEditor1 := oG2antt:Columns():Add("DropDown"):Editor() oEditor1:EditType := 2/*DropDownType*/ oEditor1:AddItem(1,"First item") oEditor1:AddItem(2,"Second item") oEditor1:AddItem(3,"Third item") oItems := oG2antt:Items() oItems:SetProperty("CellValue",oItems:AddItem(1),1,"Any") oItems:SetProperty("CellValue",oItems:AddItem(2),1,"Any") oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1466 |
How can I mark or enlarge the selected bars, so I have a clear frame around (Method 3)
|
1465 |
How can I mark or enlarge the selected bars, so I have a clear frame around (Method 2)
|
1464 |
How can I mark or enlarge the selected bars, so I have a clear frame around (Method 1)
|
1463 |
How can I load my table from an Access 2007, using ADO
PROCEDURE OnAddItem(oG2antt,Item) LOCAL oItems oItems := oG2antt:Items() oItems:AddBar(Item,"Task",oItems:CellValue(Item,2),oItems:CellValue(Item,4)) RETURN #include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL rs oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:AddItem := {|Item| OnAddItem(oG2antt,Item)} /*Occurs after a new Item has been inserted to Items collection.*/ oG2antt:BeginUpdate() oChart := oG2antt:Chart() oChart:FirstVisibleDate := "08/03/1994" oChart:SetProperty("PaneWidth",.F.,256) oChart:LevelCount := 2 oChart:UnitScale := 4096/*exDay*/ oChart:FirstWeekDay := 1/*exMonday*/ oChart:OverviewVisible := 2/*exOverviewShowAllVisible*/ oG2antt:ColumnAutoResize := .F. oG2antt:ContinueColumnScroll := .F. rs := CreateObject("ADOR.Recordset") rs:Open("Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExG2antt\Sample\Access\misc.accdb",3/*adOpenStatic*/,3/*adLockOptimistic*/) oG2antt:DataSource := rs oG2antt:Items():AllowCellValueToItemBar := .T. oG2antt:Columns:Item(2):SetProperty("Def",18/*exCellValueToItemBarProperty*/,1) oG2antt:Columns:Item(4):SetProperty("Def",18/*exCellValueToItemBarProperty*/,2) oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1462 |
Is it possible to enumerate the links without enumerating them
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oItems LOCAL h1,h2,h3,h4 oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:AntiAliasing := .T. oG2antt:Columns():Add("Task") oChart := oG2antt:Chart() oChart:FirstVisibleDate := "01/01/2001" oChart:SetProperty("PaneWidth",.F.,128) oChart:NonworkingDays := 0 oChart:LinksWidth := 2 oItems := oG2antt:Items() h1 := oItems:AddItem("Task 1") oItems:AddBar(h1,"Task","01/02/2001","01/04/2001","K1") h2 := oItems:AddItem("Task 2") oItems:AddBar(h2,"Task","01/06/2001","01/08/2001","K2") oItems:AddLink("L1",h1,"K1",h2,"K2") h3 := oItems:AddItem("Task 3") oItems:AddBar(h3,"Task","01/10/2001","01/12/2001","K3") oItems:AddLink("L2",h2,"K2",h3,"K3") h4 := oItems:AddItem("Task 4") oItems:AddBar(h4,"Task","01/14/2001","01/16/2001","K4") oItems:AddLink("L3",h3,"K3",h4,"K4") oItems:SetProperty("Link","<L*>",11/*exLinkShowDir*/,.F.) oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1461 |
How can I display a vertical line in the chart
PROCEDURE OnClick(oG2antt) LOCAL oChart oChart := oG2antt:Chart() oChart:SetProperty("MarkNowColor",AutomationTranslateColor( GraMakeRGBColor ( { 255,0,0 } ) , .F. )) oChart:MarkNow := oChart:DateFromPoint(-1,-1) RETURN #include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:Click := {|| OnClick(oG2antt)} /*Occurs when the user presses and then releases the left mouse button over the tree control.*/ oChart := oG2antt:Chart() oChart:FirstVisibleDate := "03/13/2012" oChart:SetProperty("PaneWidth",.F.,0) oChart:LevelCount := 2 oChart:SetProperty("MarkNowColor",AutomationTranslateColor( GraMakeRGBColor ( { 0,0,0 } ) , .F. )) oChart:MarkNowWidth := 3 oChart:UnitWidth := 32 oChart:ResizeUnitScale := 65536/*exHour*/ oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1460 |
How can I use the MarkNowColor to mark a time line different then the time on the machine
|
1459 |
Is it possible to show the current date time using a delay
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oItems LOCAL oLevel oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oChart := oG2antt:Chart() oChart:SetProperty("PaneWidth",.F.,0) oChart:LevelCount := 2 oChart:Level(0):Label := 1048576 oLevel := oChart:Level(1) oLevel:Label := "<%ss%>" oLevel:Count := 15 oChart:SetProperty("MarkNowColor",AutomationTranslateColor( GraMakeRGBColor ( { 0,0,255 } ) , .F. )) oChart:MarkNowWidth := 3 oChart:MarkNowDelay := 0.00069444 oG2antt:Columns():Add("Tasks") oItems := oG2antt:Items() oItems:AddBar(oItems:AddItem("Item 1"),"Task","01/01/2008","01/01/2018") oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1458 |
What are the options to show the links between bars
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oItems LOCAL h1,h2,h3,h4,h5 oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:AntiAliasing := .T. oG2antt:Columns():Add("Task") oChart := oG2antt:Chart() oChart:FirstVisibleDate := "01/01/2001" oChart:SetProperty("PaneWidth",.F.,128) oChart:NonworkingDays := 0 oChart:LinksWidth := 2 oItems := oG2antt:Items() h1 := oItems:AddItem("Task 1") oItems:AddItem("") oItems:AddBar(h1,"Task","01/02/2001","01/04/2001","K1") h2 := oItems:AddItem("Task 2") oItems:AddItem("") oItems:AddBar(h2,"Task","01/06/2001","01/08/2001","K2") oItems:AddLink("L1",h1,"K1",h2,"K2") h3 := oItems:AddItem("Task 3") oItems:AddItem("") oItems:AddBar(h3,"Task","01/12/2001","01/14/2001","K3") oItems:AddLink("L2",h2,"K2",h3,"K3") oItems:SetProperty("Link","L2",15/*exLinkShowRound*/,-1) h4 := oItems:AddItem("Task 4") oItems:AddBar(h4,"Task","01/18/2001","01/20/2001","K4") oItems:AddLink("L3",h3,"K3",h4,"K4") oItems:SetProperty("Link","L3",15/*exLinkShowRound*/,1) oItems:AddItem("") h5 := oItems:AddItem("Task 5") oItems:AddBar(h5,"Task","01/22/2001","01/24/2001","K5") oItems:AddLink("L4",h4,"K4",h5,"K5") oItems:SetProperty("Link","L4",15/*exLinkShowRound*/,2) oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1457 |
Is it possible to specify the link between bars to be a wider line
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oItems LOCAL h1,h2,h3 oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:Columns():Add("Task") oChart := oG2antt:Chart() oChart:FirstVisibleDate := "01/01/2001" oChart:SetProperty("PaneWidth",.F.,128) oChart:NonworkingDays := 0 oChart:LinksStyle := 0/*exLinkSolid*/ oChart:LinksWidth := 2 oChart:SetProperty("LinksColor",AutomationTranslateColor( GraMakeRGBColor ( { 255,0,0 } ) , .F. )) oItems := oG2antt:Items() h1 := oItems:AddItem("Task 1") oItems:AddBar(h1,"Task","01/02/2001","01/04/2001","K1") h2 := oItems:AddItem("Task 2") oItems:AddBar(h2,"Task","01/06/2001","01/08/2001","K2") oItems:AddLink("L1",h1,"K1",h2,"K2") h3 := oItems:AddItem("Task 3") oItems:AddBar(h3,"Task","01/10/2001","01/12/2001","K3") oItems:AddLink("L2",h2,"K2",h3,"K3") oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1456 |
Is it possible to create a link between the two specified bars so that the link was a straight line
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oItems LOCAL h1,h2,h3 oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:Columns():Add("Task") oG2antt:AntiAliasing := .T. oChart := oG2antt:Chart() oChart:FirstVisibleDate := "01/01/2001" oChart:SetProperty("PaneWidth",.F.,128) oChart:NonworkingDays := 0 oItems := oG2antt:Items() h1 := oItems:AddItem("Task 1") oItems:AddBar(h1,"Task","01/02/2001","01/04/2001","K1") h2 := oItems:AddItem("Task 2") oItems:AddBar(h2,"Task","01/06/2001","01/08/2001","K2") oItems:AddLink("L1",h1,"K1",h2,"K2") oItems:SetProperty("Link","L1",9/*exLinkStyle*/,0) oItems:SetProperty("Link","L1",10/*exLinkWidth*/,2) oItems:SetProperty("Link","L1",8/*exLinkColor*/,255) oItems:SetProperty("Link","L1",15/*exLinkShowRound*/,2) h3 := oItems:AddItem("Task 3") oItems:AddBar(h3,"Task","01/10/2001","01/12/2001","K3") oItems:AddLink("L2",h2,"K2",h3,"K3") oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1455 |
I associate the bars with my columns, Start and End, but can not get it working for bars with non-empty keys. What am I doing wrong
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oColumn,oColumn1 LOCAL oColumns LOCAL oItems LOCAL h oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oColumns := oG2antt:Columns() oColumns:Add("Tasks") oColumn := oColumns:Add("Start") oColumn:SetProperty("Def",18/*exCellValueToItemBarProperty*/,1) oColumn:SetProperty("Def",19/*exCellValueToItemBarKey*/,"A") oColumn1 := oColumns:Add("End") oColumn1:SetProperty("Def",18/*exCellValueToItemBarProperty*/,2) oColumn1:SetProperty("Def",19/*exCellValueToItemBarKey*/,"A") oG2antt:Items():AllowCellValueToItemBar := .T. oChart := oG2antt:Chart() oChart:SetProperty("PaneWidth",.F.,256) oChart:FirstVisibleDate := "01/01/2002" oChart:LevelCount := 2 oChart:Bars:Item("Task"):OverlaidType := 3/*exOverlaidBarsStack*/ oItems := oG2antt:Items() oItems:AddBar(oItems:AddItem("Task 1"),"Task","01/04/2002","01/08/2002","A","A") h := oItems:AddItem("Task 2") oItems:AddBar(h,"Task","01/06/2002","01/10/2002","A","A") oItems:AddBar(h,"Task","01/04/2002","01/08/2002","B","B") oItems:SetProperty("ItemBar",h,"B",33/*exBarColor*/,255) oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1454 |
The right pane needs to show ONLY the hours 6am to 9pm (every hour) for one day only and the user should not to be able to scroll left or right nor see any other hours. How can I do that
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:Columns():Add("Tasks") oChart := oG2antt:Chart() oChart:LevelCount := 2 oChart:SetProperty("ScrollRange",0/*exStartDate*/,"01/01/2001") oChart:SetProperty("ScrollRange",1/*exEndDate*/,"01/01/2001") oChart:UnitScale := 65536/*exHour*/ oChart:NonworkingHours := 12582975 oChart:ShowNonworkingUnits := .F. oChart:ShowNonworkingHours := .F. oChart:Level(0):Alignment := 17/*exHOutside+CenterAlignment*/ oChart:UnitWidth := 18 oChart:SetProperty("PaneWidth",.T.,294) oChart:ScrollBar := .F. oG2antt:OnResizeControl := 128/*exDisableSplitter*/ oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1453 |
Is it possible to count only a specified type of bars without enumerating them
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oItems oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:Columns():Add("Tasks") oG2antt:Chart():FirstVisibleDate := "01/01/2001" oItems := oG2antt:Items() oItems:AddBar(oItems:AddItem("Task 1"),"Task","01/02/2001","01/04/2001","K1","K1") oItems:AddBar(oItems:AddItem("Task 2"),"Progress","01/03/2001","01/05/2001") oItems:AddBar(oItems:AddItem("Task 3"),"Task","01/02/2001","01/04/2001","P3","P3") DevOut( "K*" ) DevOut( Transform(oItems:ItemBar(0,"<K*>",256/*exBarsCount*/),"") ) DevOut( "K* P*" ) DevOut( Transform(oItems:ItemBar(0,"<K* P*>",256/*exBarsCount*/),"") ) oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1452 |
How can I count or get the numbers of the bars in the chart
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oItems oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:Columns():Add("Tasks") oG2antt:Chart():FirstVisibleDate := "01/01/2001" oItems := oG2antt:Items() oItems:AddBar(oItems:AddItem("Task 1"),"Task","01/02/2001","01/04/2001","K1","K1") oItems:AddBar(oItems:AddItem("Task 2"),"Task","01/02/2001","01/04/2001","A2","A2") oItems:AddBar(oItems:AddItem("Task 3"),"Task","01/02/2001","01/04/2001","K3","K3") DevOut( "All" ) DevOut( Transform(oItems:ItemBar(0,"<*>",256/*exBarsCount*/),"") ) DevOut( "A*" ) DevOut( Transform(oItems:ItemBar(0,"<A*>",256/*exBarsCount*/),"") ) DevOut( "K*" ) DevOut( Transform(oItems:ItemBar(0,"<K*>",256/*exBarsCount*/),"") ) oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1451 |
Is it possible to remove only specified bars from ALL items at once
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oItems oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:Columns():Add("Tasks") oG2antt:Chart():FirstVisibleDate := "01/01/2001" oItems := oG2antt:Items() oItems:AddBar(oItems:AddItem("Task 1"),"Task","01/02/2001","01/04/2001","K1","K1") oItems:AddBar(oItems:AddItem("Task 2"),"Task","01/02/2001","01/04/2001","A2","A2") oItems:AddBar(oItems:AddItem("Task 3"),"Task","01/02/2001","01/04/2001","K3","K3") oItems:RemoveBar(0,"<K*>") oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1450 |
How can I remove all bars from the chart (method 2)
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oItems oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:Columns():Add("Tasks") oG2antt:Chart():FirstVisibleDate := "01/01/2001" oItems := oG2antt:Items() oItems:AddBar(oItems:AddItem("Task 1"),"Task","01/02/2001","01/04/2001","K1","K1") oItems:AddBar(oItems:AddItem("Task 2"),"Task","01/02/2001","01/04/2001","A2","A2") oItems:AddBar(oItems:AddItem("Task 3"),"Task","01/02/2001","01/04/2001","K3","K3") oItems:ClearBars(0) oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1449 |
How can I remove all bars from the chart (method 1)
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oItems oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:Columns():Add("Tasks") oG2antt:Chart():FirstVisibleDate := "01/01/2001" oItems := oG2antt:Items() oItems:AddBar(oItems:AddItem("Task 1"),"Task","01/02/2001","01/04/2001","K1","K1") oItems:AddBar(oItems:AddItem("Task 2"),"Task","01/02/2001","01/04/2001","A2","A2") oItems:AddBar(oItems:AddItem("Task 3"),"Task","01/02/2001","01/04/2001","K3","K3") oItems:RemoveBar(0,"<*>") oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1448 |
Is it possible to update at once a property for several bars without enumerating them
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oItems oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:Columns():Add("Tasks") oG2antt:Chart():FirstVisibleDate := "01/01/2001" oItems := oG2antt:Items() oItems:AddBar(oItems:AddItem("Task 1"),"Task","01/02/2001","01/04/2001","K1","K1") oItems:AddBar(oItems:AddItem("Task 2"),"Task","01/02/2001","01/04/2001","A2","A2") oItems:AddBar(oItems:AddItem("Task 3"),"Task","01/02/2001","01/04/2001","K3","K3") oItems:SetProperty("ItemBar",0,"<K*>",33/*exBarColor*/,255) oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1447 |
Is it possible to update at once a property of ALL bars without enumerating them
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oItems oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:Columns():Add("Tasks") oG2antt:Chart():FirstVisibleDate := "01/01/2001" oItems := oG2antt:Items() oItems:AddBar(oItems:AddItem("Task 1"),"Task","01/02/2001","01/04/2001","K1","K1") oItems:AddBar(oItems:AddItem("Task 2"),"Task","01/02/2001","01/04/2001","A2","A2") oItems:AddBar(oItems:AddItem("Task 3"),"Task","01/02/2001","01/04/2001","K3","K3") oItems:SetProperty("ItemBar",0,"<*>",33/*exBarColor*/,255) oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1446 |
How do I prevent selecting a new item when selecting a bar
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oItems oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:Columns():Add("Task") oChart := oG2antt:Chart() oChart:FirstVisibleDate := "12/29/2000" oChart:SetProperty("PaneWidth",.F.,64) oChart:LevelCount := 2 oChart:SelectOnClick := .F. oItems := oG2antt:Items() oItems:AddBar(oItems:AddItem("Task 1"),"Task","01/02/2001","01/04/2001","K1") oItems:AddBar(oItems:AddItem("Task 2"),"Task","01/04/2001","01/06/2001","K2") oItems:AddBar(oItems:AddItem("Task 3"),"Task","01/08/2001","01/10/2001","K3") oItems:SetProperty("SelectItem",oItems:FirstVisibleItem(),.T.) oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1445 |
Is it possible to find out all incoming bars ( recursively )
PROCEDURE OnMouseMove(oG2antt,Button,Shift,X,Y) LOCAL b,i b := oG2antt:Chart:BarFromPoint(-1,-1) i := oG2antt:ItemFromPoint(-1,-1,c,hit) DevOut( Transform(oG2antt:Items:ItemBar(i,b,542/*exBarIncomingBarsAllDebug*/),"") ) RETURN #include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oItems LOCAL h1,h2,h3,h4 oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:MouseMove := {|Button,Shift,X,Y| OnMouseMove(oG2antt,Button,Shift,X,Y)} /*Occurs when the user moves the mouse.*/ oG2antt:BeginUpdate() oG2antt:Columns():Add("Tasks") oChart := oG2antt:Chart() oChart:LevelCount := 2 oChart:FirstVisibleDate := "12/28/2000" oChart:SetProperty("PaneWidth",.F.,96) oChart:NonworkingDays := 0 oChart:AllowLinkBars := .T. oChart:AllowCreateBar := 1/*exCreateBarAuto*/ oItems := oG2antt:Items() h1 := oItems:AddItem("Task 1") oItems:AddBar(h1,"Task","01/02/2001","01/04/2001","A","A") h2 := oItems:AddItem("Task 2") oItems:AddBar(h2,"Task","01/05/2001","01/07/2001","B","B") oItems:AddLink("L1",h1,"A",h2,"B") h3 := oItems:AddItem("Task 3") oItems:AddBar(h3,"Task","01/08/2001","01/10/2001","C","C") oItems:AddLink("L2",h2,"B",h3,"C") h4 := oItems:AddItem("Task 4") oItems:AddBar(h4,"Task","01/08/2001","01/10/2001","D","D") oItems:AddLink("L3",h1,"A",h4,"D") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1444 |
How do I find the incoming bars
PROCEDURE OnMouseMove(oG2antt,Button,Shift,X,Y) LOCAL b,i b := oG2antt:Chart:BarFromPoint(-1,-1) i := oG2antt:ItemFromPoint(-1,-1,c,hit) DevOut( Transform(oG2antt:Items:ItemBar(i,b,541/*exBarIncomingBarsDebug*/),"") ) RETURN #include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oItems LOCAL h1,h2,h3,h4 oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:MouseMove := {|Button,Shift,X,Y| OnMouseMove(oG2antt,Button,Shift,X,Y)} /*Occurs when the user moves the mouse.*/ oG2antt:BeginUpdate() oG2antt:Columns():Add("Tasks") oChart := oG2antt:Chart() oChart:LevelCount := 2 oChart:FirstVisibleDate := "12/28/2000" oChart:SetProperty("PaneWidth",.F.,96) oChart:NonworkingDays := 0 oChart:AllowLinkBars := .T. oChart:AllowCreateBar := 1/*exCreateBarAuto*/ oItems := oG2antt:Items() h1 := oItems:AddItem("Task 1") oItems:AddBar(h1,"Task","01/02/2001","01/04/2001","A","A") h2 := oItems:AddItem("Task 2") oItems:AddBar(h2,"Task","01/05/2001","01/07/2001","B","B") oItems:AddLink("L1",h1,"A",h2,"B") h3 := oItems:AddItem("Task 3") oItems:AddBar(h3,"Task","01/08/2001","01/10/2001","C","C") oItems:AddLink("L2",h2,"B",h3,"C") h4 := oItems:AddItem("Task 4") oItems:AddBar(h4,"Task","01/08/2001","01/10/2001","D","D") oItems:AddLink("L3",h1,"A",h4,"D") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1443 |
Is it possible to find out all incoming links ( recursively ). Incoming link is a link from another bar to the current bar
PROCEDURE OnMouseMove(oG2antt,Button,Shift,X,Y) LOCAL b,i b := oG2antt:Chart:BarFromPoint(-1,-1) i := oG2antt:ItemFromPoint(-1,-1,c,hit) DevOut( Transform(oG2antt:Items:ItemBar(i,b,536/*exBarIncomingLinksAllAsString*/),"") ) RETURN #include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oItems LOCAL h1,h2,h3,h4 oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:MouseMove := {|Button,Shift,X,Y| OnMouseMove(oG2antt,Button,Shift,X,Y)} /*Occurs when the user moves the mouse.*/ oG2antt:BeginUpdate() oG2antt:Columns():Add("Tasks") oChart := oG2antt:Chart() oChart:LevelCount := 2 oChart:FirstVisibleDate := "12/28/2000" oChart:SetProperty("PaneWidth",.F.,96) oChart:NonworkingDays := 0 oChart:AllowLinkBars := .T. oChart:AllowCreateBar := 1/*exCreateBarAuto*/ oItems := oG2antt:Items() h1 := oItems:AddItem("Task 1") oItems:AddBar(h1,"Task","01/02/2001","01/04/2001","A","A") h2 := oItems:AddItem("Task 2") oItems:AddBar(h2,"Task","01/05/2001","01/07/2001","B","B") oItems:AddLink("L1",h1,"A",h2,"B") h3 := oItems:AddItem("Task 3") oItems:AddBar(h3,"Task","01/08/2001","01/10/2001","C","C") oItems:AddLink("L2",h2,"B",h3,"C") h4 := oItems:AddItem("Task 4") oItems:AddBar(h4,"Task","01/08/2001","01/10/2001","D","D") oItems:AddLink("L3",h1,"A",h4,"D") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1442 |
How do I find the incoming links. Incoming link is link from another bar to the current bar
PROCEDURE OnMouseMove(oG2antt,Button,Shift,X,Y) LOCAL b,i b := oG2antt:Chart:BarFromPoint(-1,-1) i := oG2antt:ItemFromPoint(-1,-1,c,hit) DevOut( Transform(oG2antt:Items:ItemBar(i,b,534/*exBarIncomingLinksAsString*/),"") ) RETURN #include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oItems LOCAL h1,h2,h3,h4 oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:MouseMove := {|Button,Shift,X,Y| OnMouseMove(oG2antt,Button,Shift,X,Y)} /*Occurs when the user moves the mouse.*/ oG2antt:BeginUpdate() oG2antt:Columns():Add("Tasks") oChart := oG2antt:Chart() oChart:LevelCount := 2 oChart:FirstVisibleDate := "12/28/2000" oChart:SetProperty("PaneWidth",.F.,96) oChart:NonworkingDays := 0 oChart:AllowLinkBars := .T. oChart:AllowCreateBar := 1/*exCreateBarAuto*/ oItems := oG2antt:Items() h1 := oItems:AddItem("Task 1") oItems:AddBar(h1,"Task","01/02/2001","01/04/2001","A","A") h2 := oItems:AddItem("Task 2") oItems:AddBar(h2,"Task","01/05/2001","01/07/2001","B","B") oItems:AddLink("L1",h1,"A",h2,"B") h3 := oItems:AddItem("Task 3") oItems:AddBar(h3,"Task","01/08/2001","01/10/2001","C","C") oItems:AddLink("L2",h2,"B",h3,"C") h4 := oItems:AddItem("Task 4") oItems:AddBar(h4,"Task","01/08/2001","01/10/2001","D","D") oItems:AddLink("L3",h1,"A",h4,"D") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1441 |
Is it possible to find out all outgoing bars ( recursively )
PROCEDURE OnMouseMove(oG2antt,Button,Shift,X,Y) LOCAL b,i b := oG2antt:Chart:BarFromPoint(-1,-1) i := oG2antt:ItemFromPoint(-1,-1,c,hit) DevOut( Transform(oG2antt:Items:ItemBar(i,b,532/*exBarOutgoingBarsAllDebug*/),"") ) RETURN #include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oItems LOCAL h1,h2,h3,h4 oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:MouseMove := {|Button,Shift,X,Y| OnMouseMove(oG2antt,Button,Shift,X,Y)} /*Occurs when the user moves the mouse.*/ oG2antt:BeginUpdate() oG2antt:Columns():Add("Tasks") oChart := oG2antt:Chart() oChart:LevelCount := 2 oChart:FirstVisibleDate := "12/28/2000" oChart:SetProperty("PaneWidth",.F.,96) oChart:NonworkingDays := 0 oChart:AllowLinkBars := .T. oChart:AllowCreateBar := 1/*exCreateBarAuto*/ oItems := oG2antt:Items() h1 := oItems:AddItem("Task 1") oItems:AddBar(h1,"Task","01/02/2001","01/04/2001","A","A") h2 := oItems:AddItem("Task 2") oItems:AddBar(h2,"Task","01/05/2001","01/07/2001","B","B") oItems:AddLink("L1",h1,"A",h2,"B") h3 := oItems:AddItem("Task 3") oItems:AddBar(h3,"Task","01/08/2001","01/10/2001","C","C") oItems:AddLink("L2",h2,"B",h3,"C") h4 := oItems:AddItem("Task 4") oItems:AddBar(h4,"Task","01/08/2001","01/10/2001","D","D") oItems:AddLink("L3",h1,"A",h4,"D") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1440 |
How do I find the outgoing bars
PROCEDURE OnMouseMove(oG2antt,Button,Shift,X,Y) LOCAL b,i b := oG2antt:Chart:BarFromPoint(-1,-1) i := oG2antt:ItemFromPoint(-1,-1,c,hit) DevOut( Transform(oG2antt:Items:ItemBar(i,b,531/*exBarOutgoingBarsDebug*/),"") ) RETURN #include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oItems LOCAL h1,h2,h3,h4 oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:MouseMove := {|Button,Shift,X,Y| OnMouseMove(oG2antt,Button,Shift,X,Y)} /*Occurs when the user moves the mouse.*/ oG2antt:BeginUpdate() oG2antt:Columns():Add("Tasks") oChart := oG2antt:Chart() oChart:LevelCount := 2 oChart:FirstVisibleDate := "12/28/2000" oChart:SetProperty("PaneWidth",.F.,96) oChart:NonworkingDays := 0 oChart:AllowLinkBars := .T. oChart:AllowCreateBar := 1/*exCreateBarAuto*/ oItems := oG2antt:Items() h1 := oItems:AddItem("Task 1") oItems:AddBar(h1,"Task","01/02/2001","01/04/2001","A","A") h2 := oItems:AddItem("Task 2") oItems:AddBar(h2,"Task","01/05/2001","01/07/2001","B","B") oItems:AddLink("L1",h1,"A",h2,"B") h3 := oItems:AddItem("Task 3") oItems:AddBar(h3,"Task","01/08/2001","01/10/2001","C","C") oItems:AddLink("L2",h2,"B",h3,"C") h4 := oItems:AddItem("Task 4") oItems:AddBar(h4,"Task","01/08/2001","01/10/2001","D","D") oItems:AddLink("L3",h1,"A",h4,"D") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1439 |
Is it possible to find out all outgoing links ( recursively ). Outgoing link is link from a bar to another bar
PROCEDURE OnMouseMove(oG2antt,Button,Shift,X,Y) LOCAL b,i b := oG2antt:Chart:BarFromPoint(-1,-1) i := oG2antt:ItemFromPoint(-1,-1,c,hit) DevOut( Transform(oG2antt:Items:ItemBar(i,b,526/*exBarOutgoingLinksAllAsString*/),"") ) RETURN #include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oItems LOCAL h1,h2,h3,h4 oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:MouseMove := {|Button,Shift,X,Y| OnMouseMove(oG2antt,Button,Shift,X,Y)} /*Occurs when the user moves the mouse.*/ oG2antt:BeginUpdate() oG2antt:Columns():Add("Tasks") oChart := oG2antt:Chart() oChart:LevelCount := 2 oChart:FirstVisibleDate := "12/28/2000" oChart:SetProperty("PaneWidth",.F.,96) oChart:NonworkingDays := 0 oChart:AllowLinkBars := .T. oChart:AllowCreateBar := 1/*exCreateBarAuto*/ oItems := oG2antt:Items() h1 := oItems:AddItem("Task 1") oItems:AddBar(h1,"Task","01/02/2001","01/04/2001","A","A") h2 := oItems:AddItem("Task 2") oItems:AddBar(h2,"Task","01/05/2001","01/07/2001","B","B") oItems:AddLink("L1",h1,"A",h2,"B") h3 := oItems:AddItem("Task 3") oItems:AddBar(h3,"Task","01/08/2001","01/10/2001","C","C") oItems:AddLink("L2",h2,"B",h3,"C") h4 := oItems:AddItem("Task 4") oItems:AddBar(h4,"Task","01/08/2001","01/10/2001","D","D") oItems:AddLink("L3",h1,"A",h4,"D") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1438 |
How do I find the outgoing links. Outgoing link is link from a bar to another bar
PROCEDURE OnMouseMove(oG2antt,Button,Shift,X,Y) LOCAL b,i b := oG2antt:Chart:BarFromPoint(-1,-1) i := oG2antt:ItemFromPoint(-1,-1,c,hit) DevOut( Transform(oG2antt:Items:ItemBar(i,b,524/*exBarOutgoingLinksAsString*/),"") ) RETURN #include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oItems LOCAL h1,h2,h3,h4 oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:MouseMove := {|Button,Shift,X,Y| OnMouseMove(oG2antt,Button,Shift,X,Y)} /*Occurs when the user moves the mouse.*/ oG2antt:BeginUpdate() oG2antt:Columns():Add("Tasks") oChart := oG2antt:Chart() oChart:LevelCount := 2 oChart:FirstVisibleDate := "12/28/2000" oChart:SetProperty("PaneWidth",.F.,96) oChart:NonworkingDays := 0 oChart:AllowLinkBars := .T. oChart:AllowCreateBar := 1/*exCreateBarAuto*/ oItems := oG2antt:Items() h1 := oItems:AddItem("Task 1") oItems:AddBar(h1,"Task","01/02/2001","01/04/2001","A","A") h2 := oItems:AddItem("Task 2") oItems:AddBar(h2,"Task","01/05/2001","01/07/2001","B","B") oItems:AddLink("L1",h1,"A",h2,"B") h3 := oItems:AddItem("Task 3") oItems:AddBar(h3,"Task","01/08/2001","01/10/2001","C","C") oItems:AddLink("L2",h2,"B",h3,"C") h4 := oItems:AddItem("Task 4") oItems:AddBar(h4,"Task","01/08/2001","01/10/2001","D","D") oItems:AddLink("L3",h1,"A",h4,"D") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1437 |
How do I select a bar using the right-click
PROCEDURE OnMouseDown(oG2antt,Button,Shift,X,Y) LOCAL oItems oItems := oG2antt:Items() oItems:SetProperty("ItemBar",0,"<*>",257/*exBarSelected*/,.F.) oItems:SetProperty("ItemBar",oG2antt:ItemFromPoint(-1,-1,c,hit),oG2antt:Chart():BarFromPoint(-1,-1),257/*exBarSelected*/,.T.) RETURN #include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oItems oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:MouseDown := {|Button,Shift,X,Y| OnMouseDown(oG2antt,Button,Shift,X,Y)} /*Occurs when the user presses a mouse button.*/ oG2antt:BeginUpdate() oG2antt:Columns():Add("Task") oChart := oG2antt:Chart() oChart:FirstVisibleDate := "12/29/2000" oChart:SetProperty("PaneWidth",.F.,64) oChart:LevelCount := 2 oItems := oG2antt:Items() oItems:AddBar(oItems:AddItem("Task 1"),"Task","01/02/2001","01/04/2001","K1") oItems:AddBar(oItems:AddItem("Task 2"),"Task","01/04/2001","01/06/2001","K2") oItems:AddBar(oItems:AddItem("Task 3"),"Task","01/08/2001","01/10/2001","K3") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1436 |
How can I add or change the padding (spaces) for captions in the control's header
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oColumn oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:Columns():Add("Padding-Left"):SetProperty("Def",52/*exHeaderPaddingLeft*/,18) oColumn := oG2antt:Columns():Add("Padding-Right") oColumn:SetProperty("Def",53/*exHeaderPaddingRight*/,18) oColumn:HeaderAlignment := 2/*RightAlignment*/ oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1435 |
Do you have any plans to add cell spacing and cell padding to the cells
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oColumn LOCAL oItems oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:DrawGridLines := -2/*exRowLines*/ oColumn := oG2antt:Columns():Add("Padding-Left") oColumn:SetProperty("Def",0/*exCellHasCheckBox*/,.T.) oColumn:SetProperty("Def",48/*exCellPaddingLeft*/,18) oG2antt:Columns():Add("No-Padding"):SetProperty("Def",0/*exCellHasCheckBox*/,.T.) oG2antt:Columns():Add("Empty"):Position := 0 oItems := oG2antt:Items() oItems:SetProperty("CellValue",oItems:AddItem("Item A.1"),1,"Item A.2") oItems:SetProperty("CellValue",oItems:AddItem("Item B.1"),1,"Item B.2") oItems:SetProperty("CellValue",oItems:AddItem("Item C.1"),1,"Item C.2") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1434 |
Can I display somehow the filter just on the top of the list, with an editor associated to each column
PROCEDURE OnAddItem(oG2antt,Item) LOCAL oItems oItems := oG2antt:Items() oItems:AddBar(Item,"Task",oItems:CellValue(Item,2),oItems:CellValue(Item,4)) RETURN PROCEDURE OnChange(oG2antt,Item,ColIndex,NewValue) LOCAL oColumn DevOut( "Locked:" ) DevOut( Transform(oG2antt:Items:IsItemLocked(Item),"") ) oColumn := oG2antt:Columns:Item(ColIndex) oColumn:Filter := Transform(NewValue,"") oColumn:FilterType := 3/*exPattern*/ oG2antt:ApplyFilter() RETURN PROCEDURE OnMouseUp(oG2antt,Button,Shift,X,Y) oG2antt:Edit(oG2antt:Items:LockedItem(0/*exTop*/,0)) RETURN #include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oItems LOCAL h LOCAL rs oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:AddItem := {|Item| OnAddItem(oG2antt,Item)} /*Occurs after a new Item has been inserted to Items collection.*/ oG2antt:Change := {|Item,ColIndex,NewValue| OnChange(oG2antt,Item,ColIndex,NewValue)} /*Occurs when the user changes the cell's content.*/ oG2antt:MouseUp := {|Button,Shift,X,Y| OnMouseUp(oG2antt,Button,Shift,X,Y)} /*Occurs when the user releases a mouse button.*/ oG2antt:ColumnAutoResize := .F. oG2antt:ScrollBySingleLine := .T. oG2antt:ContinueColumnScroll := .F. oG2antt:Chart():FirstVisibleDate := "08/03/1994" rs := CreateObject("ADOR.Recordset") rs:Open("Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExG2antt\Sample\Access\misc.accdb",3/*adOpenStatic*/,3/*adLockOptimistic*/) oG2antt:DataSource := rs oItems := oG2antt:Items() oItems:SetProperty("LockedItemCount",0/*exTop*/,2) h := oItems:LockedItem(0/*exTop*/,0) oItems:CellEditor(h,0):EditType := 1/*EditType*/ h := oItems:LockedItem(0/*exTop*/,1) oItems:SetProperty("ItemHeight",h,4) oItems:SetProperty("ItemDivider",h,0) oItems:SetProperty("SelectableItem",h,.F.) oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1433 |
Is it possible to display information about the firing events
PROCEDURE OnEvent(oG2antt,EventID) DevOut( Transform(oG2antt:EventParam(-2),"") ) RETURN #include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:Event := {|EventID| OnEvent(oG2antt,EventID)} /*Notifies the application once the control fires an event.*/ oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1432 |
I need to specify the start and end dates of the bar to be the same, but to keep count of the working units. Is it possible
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oColumns LOCAL oItems oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:MarkSearchColumn := .F. oColumns := oG2antt:Columns() oColumns:Add("Tasks") oColumns:Add("Start"):SetProperty("Def",18/*exCellValueToItemBarProperty*/,1) oColumns:Add("End"):SetProperty("Def",18/*exCellValueToItemBarProperty*/,543) oChart := oG2antt:Chart() oChart:FirstVisibleDate := "09/20/2006" oChart:LevelCount := 2 oChart:SetProperty("PaneWidth",.F.,256) oChart:ShowEmptyBars := 1 oChart:Bars():Add("Task:Split"):Shortcut := "Task" oItems := oG2antt:Items() oItems:AllowCellValueToItemBar := .T. oItems:AddBar(oItems:AddItem("Task 1"),"Task","09/21/2006","09/21/2006") oItems:AddBar(oItems:AddItem("Task 2"),"Task","09/22/2006","09/25/2006") oItems:AddBar(oItems:AddItem("Task 3"),"Task","09/25/2006","09/25/2006") oItems:SetProperty("ItemBar",0,"<*>",20/*exBarKeepWorkingCount*/,.T.) oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1431 |
I need to specify the start and end dates of the bar to be the same, but no bars are shown. (NOT recommended for bars with exBarKeepWorkingCount ) What I can do
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oColumns LOCAL oItems oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:MarkSearchColumn := .F. oColumns := oG2antt:Columns() oColumns:Add("Tasks") oColumns:Add("Start"):SetProperty("Def",18/*exCellValueToItemBarProperty*/,1) oColumns:Add("End"):SetProperty("Def",18/*exCellValueToItemBarProperty*/,543) oChart := oG2antt:Chart() oChart:FirstVisibleDate := "09/20/2006" oChart:LevelCount := 2 oChart:SetProperty("PaneWidth",.F.,256) oChart:ShowEmptyBars := 1 oItems := oG2antt:Items() oItems:AllowCellValueToItemBar := .T. oItems:AddBar(oItems:AddItem("Task 1"),"Task","09/21/2006","09/21/2006") oItems:AddBar(oItems:AddItem("Task 2"),"Task","09/22/2006","09/22/2006") oItems:AddBar(oItems:AddItem("Task 3"),"Task","09/25/2006","09/25/2006") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1430 |
I need my chart to display the end date with on day less. How can I do this (Method 2)
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oColumn,oColumn1 LOCAL oColumns LOCAL oItems oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:MarkSearchColumn := .F. oColumns := oG2antt:Columns() oColumns:Add("Tasks") oColumn := oColumns:Add("Start") oColumn:SetProperty("Def",18/*exCellValueToItemBarProperty*/,1) oColumn:Editor():EditType := 7/*DateType*/ oColumn1 := oColumns:Add("End") oColumn1:SetProperty("Def",18/*exCellValueToItemBarProperty*/,543) oColumn1:Editor():EditType := 7/*DateType*/ oChart := oG2antt:Chart() oChart:FirstVisibleDate := "09/20/2006" oChart:LevelCount := 2 oChart:SetProperty("PaneWidth",.F.,256) oChart:NonworkingDays := 0 oItems := oG2antt:Items() oItems:AllowCellValueToItemBar := .T. oItems:AddBar(oItems:AddItem("Task 1"),"Task","09/21/2006","09/24/2006") oItems:AddBar(oItems:AddItem("Task 2"),"Task","09/22/2006","09/25/2006") oItems:AddBar(oItems:AddItem("Task 3"),"Task","09/23/2006","09/26/2006") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1429 |
Is it possible to change the width of a specified time unit
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oInsideZoom LOCAL oInsideZooms oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oChart := oG2antt:Chart() oChart:SetProperty("PaneWidth",.F.,0) oChart:LevelCount := 2 oChart:FirstVisibleDate := "01/01/2008" oChart:AllowInsideZoom := .T. oChart:AllowResizeInsideZoom := .F. oChart:InsideZoomOnDblClick := .F. oChart:DefaultInsideZoomFormat():SetProperty("BackColorChart",AutomationTranslateColor( GraMakeRGBColor ( { 255,0,255 } ) , .F. )) oInsideZooms := oChart:InsideZooms() oInsideZooms:SplitBaseLevel := .F. oInsideZooms:DefaultWidth := 18 oInsideZoom := oInsideZooms:Add("01/15/2008") oInsideZoom:AllowInsideFormat := .F. oInsideZoom:Width := 128 oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1428 |
The level unit of the chart is set to day, so i'd like to set the whole background of the current day. Is it possible to set a background color only on the current day (Method 2)
|
1427 |
The level unit of the chart is set to day, so i'd like to set the whole background of the current day. Is it possible to set a background color only on the current day (Method 1)
|
1426 |
How can I change the layout of my columns when using the exCRD
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oColumn,oColumn1,oColumn2 LOCAL oColumns LOCAL oItems LOCAL h oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:DrawGridLines := -2/*exRowLines*/ oG2antt:DefaultItemHeight := 36 oColumns := oG2antt:Columns() oColumn := oColumns:Add("Column1") oColumn:Visible := .F. oColumn:Editor():EditType := 1/*EditType*/ oColumn1 := oColumns:Add("Column2") oColumn1:Visible := .F. oColumn1:Editor():EditType := 1/*EditType*/ oColumns:Add("Column3"):Visible := .F. oColumn2 := oColumns:Add("FormatLevel") oColumn2:FormatLevel := "(0/1),2" oColumn2:SetProperty("Def",32/*exCellFormatLevel*/,oColumn2:FormatLevel()) oItems := oG2antt:Items() h := oItems:AddItem("Cell 1.1") oItems:SetProperty("CellValue",h,1,"Cell 1.2") oItems:SetProperty("CellValue",h,2,"Cell 1.3") h := oItems:AddItem("Cell 2.1") oItems:SetProperty("CellValue",h,1,"Cell 2.2") oItems:SetProperty("CellValue",h,2,"Cell 2.3") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1425 |
How can I overlaid a single bar
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oBar,oBar1 LOCAL oChart LOCAL oItems LOCAL h,h1 oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:DefaultItemHeight := 22 oG2antt:Columns():Add("Task") oG2antt:ScrollBySingleLine := .T. oG2antt:SetProperty("BackColorAlternate",AutomationTranslateColor( GraMakeRGBColor ( { 240,240,240 } ) , .F. )) oChart := oG2antt:Chart() oChart:AllowCreateBar := 1/*exCreateBarAuto*/ oChart:SetProperty("PaneWidth",.F.,48) oChart:FirstVisibleDate := "12/28/2000" oChart:LevelCount := 2 oBar := oChart:Bars:Item("Task") oBar:OverlaidGroup := "OTask" oBar:OverlaidType := 0/*exOverlaidBarsNone*/ oBar:SetProperty("Def",3/*exBarCaption*/,"<%=%9%>") oBar1 := oChart:Bars():CallMethod("Copy","Task","OTask") oBar1:OverlaidGroup := "Task" oBar1:OverlaidType := 8196/*exOverlaidBarsStrict+exOverlaidBarsCascade*/ oItems := oG2antt:Items() h1 := oItems:AddItem("Default") h := oItems:AddItem("Overlaid") oItems:AddBar(h,"Task","01/02/2001","01/04/2001","A1") oItems:AddBar(h,"Task","01/04/2001","01/07/2001","A3") oItems:AddBar(h,"OTask","01/03/2001","01/05/2001","A2") oItems:SetProperty("ItemBar",h,"A2",33/*exBarColor*/,255) oItems:AddBar(h,"Task","01/05/2001","01/08/2001","A4") h1 := oItems:AddItem("Default") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1424 |
How can I use the exOverlaidBarsCascade, exBarOverlaidKey
PROCEDURE OnCreateBar(oG2antt,Item,DateStart,DateEnd) oG2antt:Items():SetProperty("ItemBar",Item,"newbar",52/*exBarOverlaidKey*/,"Level0") RETURN #include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oBar LOCAL oChart LOCAL oItems LOCAL h,h1 oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:CreateBar := {|Item,DateStart,DateEnd| OnCreateBar(oG2antt,Item,DateStart,DateEnd)} /*Fired when the user creates a new bar.*/ oG2antt:BeginUpdate() oG2antt:DefaultItemHeight := 22 oG2antt:Columns():Add("Task") oG2antt:ScrollBySingleLine := .T. oG2antt:SetProperty("BackColorAlternate",AutomationTranslateColor( GraMakeRGBColor ( { 240,240,240 } ) , .F. )) oChart := oG2antt:Chart() oChart:AllowCreateBar := 1/*exCreateBarAuto*/ oChart:SetProperty("PaneWidth",.F.,48) oChart:FirstVisibleDate := "12/28/2000" oChart:LevelCount := 2 oBar := oChart:Bars:Item("Task") oBar:OverlaidType := 4/*exOverlaidBarsCascade*/ oBar:SetProperty("Def",3/*exBarCaption*/,"<%=%9%>") oItems := oG2antt:Items() h1 := oItems:AddItem("Default") h := oItems:AddItem("Overlaid") oItems:AddBar(h,"Task","01/02/2001","01/04/2001","A1") oItems:SetProperty("ItemBar",h,"A1",52/*exBarOverlaidKey*/,"Level0") oItems:AddBar(h,"Task","01/04/2001","01/07/2001","A3") oItems:SetProperty("ItemBar",h,"A3",52/*exBarOverlaidKey*/,"Level0") oItems:AddBar(h,"Task","01/03/2001","01/05/2001","A2") oItems:SetProperty("ItemBar",h,"A2",33/*exBarColor*/,255) oItems:SetProperty("ItemBar",h,"A2",52/*exBarOverlaidKey*/,"Level1") oItems:AddBar(h,"Task","01/05/2001","01/08/2001","A4") oItems:SetProperty("ItemBar",h,"A4",33/*exBarColor*/,255) oItems:SetProperty("ItemBar",h,"A4",52/*exBarOverlaidKey*/,"Level1") h1 := oItems:AddItem("Default") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1423 |
How can I use the exOverlaidBarsStack+exOverlaidBarsStackAutoArrange
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oBar LOCAL oChart LOCAL oItems LOCAL h,h1 oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:DefaultItemHeight := 22 oG2antt:Columns():Add("Task") oG2antt:ScrollBySingleLine := .T. oG2antt:SetProperty("BackColorAlternate",AutomationTranslateColor( GraMakeRGBColor ( { 240,240,240 } ) , .F. )) oChart := oG2antt:Chart() oChart:SetProperty("PaneWidth",.F.,48) oChart:FirstVisibleDate := "12/28/2000" oChart:LevelCount := 2 oBar := oChart:Bars:Item("Task") oBar:OverlaidType := 515/*exOverlaidBarsStackAutoArrange+exOverlaidBarsStack*/ oBar:SetProperty("Def",3/*exBarCaption*/,"<%=%9%>") oItems := oG2antt:Items() h1 := oItems:AddItem("Default") h := oItems:AddItem("Overlaid") oItems:AddBar(h,"Task","01/02/2001","01/04/2001","A1") oItems:AddBar(h,"Task","01/03/2001","01/05/2001","A2") oItems:AddBar(h,"Task","01/04/2001","01/07/2001","A3") oItems:AddBar(h,"Task","01/05/2001","01/08/2001","A4") h1 := oItems:AddItem("Default") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1422 |
How can I use the exOverlaidBarsStack
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oBar LOCAL oChart LOCAL oItems LOCAL h,h1 oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:DefaultItemHeight := 22 oG2antt:Columns():Add("Task") oG2antt:ScrollBySingleLine := .T. oG2antt:SetProperty("BackColorAlternate",AutomationTranslateColor( GraMakeRGBColor ( { 240,240,240 } ) , .F. )) oChart := oG2antt:Chart() oChart:SetProperty("PaneWidth",.F.,48) oChart:FirstVisibleDate := "12/28/2000" oChart:LevelCount := 2 oBar := oChart:Bars:Item("Task") oBar:OverlaidType := 3/*exOverlaidBarsStack*/ oBar:SetProperty("Def",3/*exBarCaption*/,"<%=%9%>") oItems := oG2antt:Items() h1 := oItems:AddItem("Default") h := oItems:AddItem("Overlaid") oItems:AddBar(h,"Task","01/02/2001","01/04/2001","A1") oItems:AddBar(h,"Task","01/03/2001","01/05/2001","A2") oItems:AddBar(h,"Task","01/04/2001","01/07/2001","A3") oItems:AddBar(h,"Task","01/05/2001","01/08/2001","A4") h1 := oItems:AddItem("Default") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1421 |
How can I use the exOverlaidBarsIntersect
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oBar LOCAL oChart LOCAL oItems LOCAL h,h1 oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:DefaultItemHeight := 22 oG2antt:Columns():Add("Task") oG2antt:ScrollBySingleLine := .T. oG2antt:SetProperty("BackColorAlternate",AutomationTranslateColor( GraMakeRGBColor ( { 240,240,240 } ) , .F. )) oChart := oG2antt:Chart() oChart:SetProperty("PaneWidth",.F.,48) oChart:FirstVisibleDate := "12/28/2000" oChart:LevelCount := 2 oBar := oChart:Bars:Item("Task") oBar:OverlaidType := 2/*exOverlaidBarsIntersect*/ oBar:SetProperty("Overlaid",2/*exOverlaidBarsIntersect*/,"Progress") oBar:SetProperty("Def",3/*exBarCaption*/,"<%=%9%>") oItems := oG2antt:Items() h1 := oItems:AddItem("Default") h := oItems:AddItem("Overlaid") oItems:AddBar(h,"Task","01/02/2001","01/04/2001","A1") oItems:AddBar(h,"Task","01/03/2001","01/05/2001","A2") oItems:AddBar(h,"Task","01/04/2001","01/07/2001","A3") oItems:AddBar(h,"Task","01/05/2001","01/08/2001","A4") h1 := oItems:AddItem("Default") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1420 |
How can I use the exOverlaidBarsOffset
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oBar LOCAL oChart LOCAL oItems LOCAL h,h1 oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:DefaultItemHeight := 22 oG2antt:Columns():Add("Task") oG2antt:ScrollBySingleLine := .T. oG2antt:SetProperty("BackColorAlternate",AutomationTranslateColor( GraMakeRGBColor ( { 240,240,240 } ) , .F. )) oChart := oG2antt:Chart() oChart:SetProperty("PaneWidth",.F.,48) oChart:FirstVisibleDate := "12/28/2000" oChart:LevelCount := 2 oBar := oChart:Bars:Item("Task") oBar:OverlaidType := 1/*exOverlaidBarsOffset*/ oBar:SetProperty("Def",3/*exBarCaption*/,"<%=%9%>") oItems := oG2antt:Items() h1 := oItems:AddItem("Default") h := oItems:AddItem("Overlaid") oItems:AddBar(h,"Task","01/02/2001","01/04/2001","A1") oItems:AddBar(h,"Task","01/03/2001","01/05/2001","A2") oItems:AddBar(h,"Task","01/04/2001","01/07/2001","A3") oItems:AddBar(h,"Task","01/05/2001","01/08/2001","A4") h1 := oItems:AddItem("Default") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1419 |
Is it possible to specify the end of the project when using the SchedulePDM method
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oItems LOCAL h1,h2,h3 oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:Columns():Add("Task") oChart := oG2antt:Chart() oChart:FirstVisibleDate := "12/28/2000" oChart:SetProperty("PaneWidth",.F.,48) oChart:LevelCount := 2 oItems := oG2antt:Items() h1 := oItems:AddItem("Task 1") oItems:AddBar(h1,"Task","01/02/2001","01/04/2001","K1") h2 := oItems:AddItem("Task 2") oItems:AddBar(h2,"Task","01/02/2001","01/05/2001","K2") oItems:AddLink("L1",h1,"K1",h2,"K2") oItems:SetProperty("Link","L1",12/*exLinkText*/,"FS") h3 := oItems:AddItem("Task 3") oItems:AddBar(h3,"Task","01/02/2001","01/06/2001","K3") oItems:AddLink("L2",h2,"K2",h3,"K3") oItems:SetProperty("Link","L2",12/*exLinkText*/,"SS") oItems:SetProperty("Link","L2",6/*exLinkStartPos*/,0) oItems:SetProperty("Link","L2",7/*exLinkEndPos*/,0) oItems:SetProperty("DefSchedulePDM",0/*exPDMScheduleType*/,2) oItems:SetProperty("DefSchedulePDM",1/*exPDMScheduleDate*/,"01/08/2001") oItems:SchedulePDM(0,"K1") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1418 |
Is it possible to specify the start of the project when using the SchedulePDM method
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oItems LOCAL h1,h2,h3 oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:Columns():Add("Task") oChart := oG2antt:Chart() oChart:FirstVisibleDate := "12/28/2000" oChart:SetProperty("PaneWidth",.F.,48) oChart:LevelCount := 2 oItems := oG2antt:Items() h1 := oItems:AddItem("Task 1") oItems:AddBar(h1,"Task","01/02/2001","01/04/2001","K1") h2 := oItems:AddItem("Task 2") oItems:AddBar(h2,"Task","01/02/2001","01/05/2001","K2") oItems:AddLink("L1",h1,"K1",h2,"K2") oItems:SetProperty("Link","L1",12/*exLinkText*/,"FS") h3 := oItems:AddItem("Task 3") oItems:AddBar(h3,"Task","01/02/2001","01/06/2001","K3") oItems:AddLink("L2",h2,"K2",h3,"K3") oItems:SetProperty("Link","L2",12/*exLinkText*/,"SS") oItems:SetProperty("Link","L2",6/*exLinkStartPos*/,0) oItems:SetProperty("Link","L2",7/*exLinkEndPos*/,0) oItems:SetProperty("DefSchedulePDM",0/*exPDMScheduleType*/,1) oItems:SetProperty("DefSchedulePDM",1/*exPDMScheduleDate*/,"01/08/2001") oItems:SchedulePDM(0,"K1") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1417 |
How can I change the caption or the addition information being displayed in the Zoom-OnFly view
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oItems LOCAL h oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:Columns():Add("Task") oChart := oG2antt:Chart() oChart:SetProperty("PaneWidth",.F.,48) oChart:FirstVisibleDate := "01/01/2001" oChart:LevelCount := 2 oChart:AllowZoomOnFly := 24/*exZoomOnFly*/ oChart:ResizeUnitScale := 65536/*exHour*/ oChart:SetProperty("Label",65536/*exHour*/,"<font ;5><b><%h%><br><%AM/PM%></b></font>") oChart:ZoomOnFlyCaption := "<br><c><b><font ;12><%=%C0 + ' / <fgcolor=00FF00>' + %3%></font></fgcolor></b><br><solidline><upline><b>Start</b>:<%=%1%><br><b>End</b>:<%=%2%><br><b>Duration</b>:<%=round(%2-%1) + ' days'%><br><b>Working</b>:<%='<b>' + int(%258) + '</b> days' + (0:=(%258 - int(%258)) ? (' <fgcolor=FF0000><b>' + round(24 * =:0) + '</b> hours') : '') %>" oItems := oG2antt:Items() h := oItems:AddItem("Task 1") oItems:AddBar(h,"Task","01/07/2001","01/10/2001","T1","T1") oItems:AddBar(h,"Task","01/11/2001","01/14/2001","T3","T3") h := oItems:AddItem() oItems:AddBar(h,"","01/15/2001","01/15/2001","","Focus the chart ( click here ), and press the <b>CTRL + SHIFT</b>, so the Zoom-OnFly is shown.") oItems:SetProperty("SelectableItem",h,.F.) oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1416 |
How can I change the scale in the Zoom-OnFly view
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oItems LOCAL h oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:Columns():Add("Task") oChart := oG2antt:Chart() oChart:SetProperty("PaneWidth",.F.,48) oChart:FirstVisibleDate := "01/01/2001" oChart:LevelCount := 2 oChart:AllowZoomOnFly := 24/*exZoomOnFly*/ oChart:ResizeUnitScale := 65536/*exHour*/ oChart:SetProperty("Label",65536/*exHour*/,"<font ;5><b><%h%><br><%AM/PM%></b></font>") oChart:ZoomOnFlyCaption := "" oItems := oG2antt:Items() h := oItems:AddItem("Task 1") oItems:AddBar(h,"Task","01/07/2001","01/10/2001","T1","T1") oItems:AddBar(h,"Task","01/11/2001","01/14/2001","T3","T3") h := oItems:AddItem() oItems:AddBar(h,"","01/15/2001","01/15/2001","","Focus the chart ( click here ), and press the <b>CTRL + SHIFT</b>, so the Zoom-OnFly is shown.") oItems:SetProperty("SelectableItem",h,.F.) oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1415 |
Is it possible to change the Zoom-OnFly view's background color
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oItems LOCAL h oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:Columns():Add("Task") oChart := oG2antt:Chart() oChart:SetProperty("PaneWidth",.F.,48) oChart:FirstVisibleDate := "01/01/2001" oChart:LevelCount := 2 oChart:AllowZoomOnFly := 24/*exZoomOnFly*/ oChart:SetProperty("BackColorZoomOnFly",AutomationTranslateColor( GraMakeRGBColor ( { 240,240,240 } ) , .F. )) oItems := oG2antt:Items() h := oItems:AddItem("Task 1") oItems:AddBar(h,"Task","01/07/2001","01/10/2001","T1","T1") oItems:AddBar(h,"Task","01/11/2001","01/14/2001","T3","T3") h := oItems:AddItem() oItems:AddBar(h,"","01/15/2001","01/15/2001","","Focus the chart ( click here ), and press the <b>CTRL + SHIFT</b>, so the Zoom-OnFly is shown.") oItems:SetProperty("SelectableItem",h,.F.) oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1414 |
How can I include the selected items in the Zoom-OnFly view
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oItems LOCAL h oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:Columns():Add("Task") oChart := oG2antt:Chart() oChart:SetProperty("PaneWidth",.F.,48) oChart:FirstVisibleDate := "01/01/2001" oChart:LevelCount := 2 oChart:AllowZoomOnFly := 792/*exZoomOnFlyIncludeSelectedItems+exZoomOnFly*/ oChart:SetProperty("SelBackColor",AutomationTranslateColor( GraMakeRGBColor ( { 240,240,240 } ) , .F. )) oChart:SelectOnClick := .F. oItems := oG2antt:Items() h := oItems:AddItem("Task 1") oItems:AddBar(h,"Task","01/07/2001","01/10/2001","T1","T1") oItems:SetProperty("SelectItem",h,.T.) h := oItems:AddItem("Task 2") oItems:AddBar(h,"Task","01/11/2001","01/14/2001","T2","T2") h := oItems:AddItem("Task 3") oItems:AddBar(h,"Task","01/08/2001","01/12/2001","T3","T3") h := oItems:AddItem() oItems:AddBar(h,"","01/15/2001","01/15/2001","","Focus the chart ( click here ), and press the <b>CTRL + SHIFT</b>, so the Zoom-OnFly is shown.") oItems:SetProperty("SelectableItem",h,.F.) oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1413 |
Is it possible to include the neighbors items in the Zoom-OnFly view
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oItems LOCAL h oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:Columns():Add("Task") oChart := oG2antt:Chart() oChart:SetProperty("PaneWidth",.F.,48) oChart:FirstVisibleDate := "01/01/2001" oChart:LevelCount := 2 oChart:AllowZoomOnFly := 280/*exZoomOnFlyIncludeNeighborItems+exZoomOnFly*/ oItems := oG2antt:Items() h := oItems:AddItem("Task 1") oItems:AddBar(h,"Task","01/07/2001","01/10/2001","T1","T1") h := oItems:AddItem("Task 2") oItems:AddBar(h,"Task","01/11/2001","01/14/2001","T3","T3") h := oItems:AddItem("Task 3") oItems:AddBar(h,"Task","01/08/2001","01/12/2001","T1","T1") h := oItems:AddItem() oItems:AddBar(h,"","01/15/2001","01/15/2001","","Focus the chart ( click here ), and press the <b>CTRL + SHIFT</b>, so the Zoom-OnFly is shown.") oItems:SetProperty("SelectableItem",h,.F.) oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1412 |
How can I enable the Zoom-OnFly view
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oItems LOCAL h oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:Columns():Add("Task") oChart := oG2antt:Chart() oChart:SetProperty("PaneWidth",.F.,48) oChart:FirstVisibleDate := "11/05/2000" oChart:LevelCount := 2 oChart:UnitScale := 256/*exWeek*/ oChart:ResizeUnitScale := 4096/*exDay*/ oChart:AllowZoomOnFly := 24/*exZoomOnFly*/ oChart:Bars:Item("Task"):OverlaidType := 3/*exOverlaidBarsStack*/ oItems := oG2antt:Items() h := oItems:AddItem("Task 1") oItems:AddBar(h,"Task","01/07/2001","01/17/2001","T1","T1") oItems:AddBar(h,"Task","01/18/2001","02/24/2001","T3","T3") h := oItems:AddItem() oItems:AddBar(h,"","01/15/2001","01/15/2001","","Focus the chart ( click here ), and press the <b>CTRL + SHIFT</b>, so the Zoom-OnFly is shown.") oItems:SetProperty("SelectableItem",h,.F.) oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1411 |
I am using the overlay bars on stack, can I somehow tell a type of bar, or a specific bar, to be always on top of all other’s. Like a Z-Index or something
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oItems LOCAL h oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:ScrollBySingleLine := .T. oG2antt:Columns():Add("Task") oG2antt:DrawGridLines := 1/*exHLines*/ oChart := oG2antt:Chart() oChart:DrawGridLines := 1/*exHLines*/ oChart:AllowCreateBar := 1/*exCreateBarAuto*/ oChart:AllowLinkBars := .F. oChart:ResizeUnitScale := 65536/*exHour*/ oChart:SetProperty("PaneWidth",.F.,48) oChart:FirstVisibleDate := "01/01/2001" oChart:Bars:Item("Task"):OverlaidType := 3/*exOverlaidBarsStack*/ oItems := oG2antt:Items() h := oItems:AddItem("Task 1") oItems:AddBar(h,"Task","01/07/2001","01/10/2001","A1","A1") oItems:AddBar(h,"Task","01/08/2001","01/12/2001","A3","A3") oItems:SetProperty("ItemBar",h,"A3",33/*exBarColor*/,65280) h := oItems:AddItem("Task 2") oItems:AddBar(h,"Task","01/07/2001","01/10/2001","A31","A31") oItems:AddBar(h,"Task","01/08/2001","01/12/2001","A3","A3") oItems:SetProperty("ItemBar",h,"A3",33/*exBarColor*/,255) oItems:AddBar(oItems:AddItem(),"","01/10/2001","01/10/2001",,"The <b>Key</b> of the bar specifies the Z-Order when overlaying.") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1410 |
Is it possible to specify the z-order when using the overlaying feature
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oItems LOCAL h1 oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:Columns():Add("Tasks") oChart := oG2antt:Chart() oChart:NonworkingDays := 0 oChart:FirstVisibleDate := "09/17/2006" oChart:SetProperty("PaneWidth",.F.,64) oChart:LevelCount := 2 oChart:Bars:Item("Task"):OverlaidType := 4/*exOverlaidBarsCascade*/ oItems := oG2antt:Items() h1 := oItems:AddItem("Task") oItems:AddBar(h1,"Task","09/21/2006","09/27/2006","K1","K1") oItems:AddBar(h1,"Task","09/23/2006","09/24/2006","K2","K2") oItems:AddBar(h1,"Task","09/22/2006","09/25/2006","K3","K3") oItems:AddBar(h1,"Task","09/21/2006","09/27/2006","T1","T1") oItems:AddBar(h1,"Task","09/28/2006","09/29/2006","T2","T2") oItems:AddBar(h1,"Task","09/30/2006","10/03/2006","T3","T3") oItems:SetProperty("ItemBar",0,"<T*>",33/*exBarColor*/,65280) oItems:SetProperty("ItemBar",0,"<K*>",52/*exBarOverlaidKey*/,"A") oItems:SetProperty("ItemBar",0,"<T*>",52/*exBarOverlaidKey*/,"B") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1409 |
I seen that there is no exBarStartColor, exBarEndColor, similar to exBarColor, is there any solution so I can display a different Start/End Color
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oBar,oBar1 LOCAL oChart LOCAL oItems LOCAL h oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oChart := oG2antt:Chart() oChart:FirstVisibleDate := "01/01/2001" oBar := oChart:Bars():CallMethod("Copy","Summary","Aka1") oBar:SetProperty("StartColor",AutomationTranslateColor( GraMakeRGBColor ( { 255,0,0 } ) , .F. )) oBar:SetProperty("EndColor",AutomationTranslateColor( GraMakeRGBColor ( { 0,0,255 } ) , .F. )) oBar1 := oChart:Bars():CallMethod("Copy","Summary","Aka2") oBar1:SetProperty("StartColor",AutomationTranslateColor( GraMakeRGBColor ( { 0,255,0 } ) , .F. )) oBar1:SetProperty("EndColor",AutomationTranslateColor( GraMakeRGBColor ( { 255,0,255 } ) , .F. )) oG2antt:Columns():Add("Column") oItems := oG2antt:Items() h := oItems:AddItem("Item A") oItems:AddBar(h,"Task","01/02/2001","01/06/2001","B1") oItems:SetProperty("ItemBar",h,"B1",0/*exBarName*/,"Aka1") h := oItems:AddItem("Item B") oItems:AddBar(h,"Task","01/02/2001","01/06/2001","B2") oItems:SetProperty("ItemBar",h,"B2",0/*exBarName*/,"Aka2") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1408 |
How can copy and paste the selection to Microsoft Word, any OLE compliant application, as a snapshot
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oBar LOCAL oChart LOCAL oItems LOCAL h,h1,h2,h3 oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:VisualAppearance():Add(1,"c:\exontrol\images\normal.ebn") oG2antt:SetProperty("HTMLPicture","p1","c:\exontrol\images\card.png") oG2antt:SetProperty("HTMLPicture","p2","c:\exontrol\images\sun.png") oG2antt:AutoDrag := 11/*exAutoDragCopySnapShot*/ oG2antt:LinesAtRoot := 0/*exNoLinesAtRoot*/ oG2antt:HasLines := 2/*exThinLine*/ oG2antt:ShowFocusRect := .F. oG2antt:DefaultItemHeight := 26 oG2antt:Columns():Add("Task") oChart := oG2antt:Chart() oChart:ShowNonworkingDates := .F. oChart:FirstVisibleDate := "12/29/2000" oChart:SetProperty("PaneWidth",.F.,96) oChart:LevelCount := 2 oBar := oChart:Bars:Item("Task") oBar:SetProperty("Color",0x1000000) oBar:Height := 18 oItems := oG2antt:Items() h := oItems:AddItem("<img>p1:32</img>Group 1") oItems:SetProperty("CellValueFormat",h,0,1/*exHTML*/) oItems:SetProperty("ItemDivider",h,0) oItems:SetProperty("ItemBold",h,.T.) h1 := oItems:InsertItem(h,,"Task 1") oItems:AddBar(h1,"Task","01/02/2001","01/04/2001","K1") h2 := oItems:InsertItem(h,,"Task 2") oItems:AddBar(h2,"Task","01/05/2001","01/07/2001","K2") oItems:AddLink("L1",h1,"K1",h2,"K2") oItems:SetProperty("Link","L1",12/*exLinkText*/,"L1") h3 := oItems:InsertItem(h,,"Task 3") oItems:AddBar(h3,"Task","01/08/2001","01/10/2001","K3") oItems:AddLink("L2",h2,"K2",h3,"K3") oItems:SetProperty("Link","L2",12/*exLinkText*/,"L2") h := oItems:AddItem("<img>p2:32</img>Group 2") oItems:SetProperty("CellValueFormat",h,0,1/*exHTML*/) oItems:SetProperty("ItemBold",h,.T.) oItems:SetProperty("ItemDivider",h,0) h1 := oItems:InsertItem(h,,"Task") oItems:AddBar(h1,"Task","01/02/2001","01/04/2001","K1") oItems:SetProperty("ExpandItem",0,.T.) oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1407 |
How can copy and paste the selection to Microsoft Word, any OLE compliant application, as a image
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oItems LOCAL h,var_HTMLPicture LOCAL rs oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:SetProperty("HTMLPicture","p1","c:\exontrol\images\card.png") oG2antt:SetProperty("HTMLPicture","p2","c:\exontrol\images\sun.png") oG2antt:Chart():SetProperty("PaneWidth",.T.,0) var_HTMLPicture := oG2antt:HTMLPicture("aka1") oG2antt:HeaderHeight := 24 oG2antt:DefaultItemHeight := 48 oG2antt:DrawGridLines := -2/*exRowLines*/ oG2antt:SetProperty("GridLineColor",AutomationTranslateColor( GraMakeRGBColor ( { 240,240,240 } ) , .F. )) oG2antt:SelBackMode := 1/*exTransparent*/ oG2antt:ColumnAutoResize := .F. oG2antt:ContinueColumnScroll := .F. rs := CreateObject("ADOR.Recordset") rs:Open("Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExG2antt\Sample\Access\misc.accdb",3/*adOpenStatic*/,3/*adLockOptimistic*/) oG2antt:DataSource := rs oG2antt:Columns:Item(0):SetProperty("Def",17/*exCellValueFormat*/,1) oG2antt:Columns:Item(0):FormatColumn := "value + ` <img>p` + (1 + (value mod 3 ) ) + `</img>`" oG2antt:Columns:Item(0):Width := 112 oG2antt:Columns:Item(1):SetProperty("Def",0/*exCellHasCheckBox*/,1) oG2antt:Columns:Item(2):LevelKey := "1" oG2antt:Columns:Item(3):LevelKey := "1" oG2antt:Columns:Item(4):LevelKey := "1" oG2antt:AutoDrag := 10/*exAutoDragCopyImage*/ oG2antt:SingleSel := .F. oItems := oG2antt:Items() h := oItems:ItemByIndex(1) oItems:SetProperty("SelectItem",h,.T.) h := oItems:ItemByIndex(2) oItems:SetProperty("SelectItem",h,.T.) h := oItems:ItemByIndex(3) oItems:SetProperty("SelectItem",h,.T.) oItems:SetProperty("LockedItemCount",2/*exBottom*/,1) h := oItems:LockedItem(2/*exBottom*/,0) oItems:SetProperty("CellValue",h,1,"<font ;16>Click the selection and <b>wait to start dragging</b>, and then drop to Microsoft Word, ...") oItems:SetProperty("CellSingleLine",h,1,0/*exCaptionWordWrap*/) oItems:SetProperty("CellValueFormat",h,1,1/*exHTML*/) oItems:SetProperty("CellHAlignment",h,1,1/*CenterAlignment*/) oItems:SetProperty("ItemDivider",h,1) oItems:SetProperty("ItemDividerLineAlignment",h,2/*DividerTop*/) oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1406 |
How can copy and paste the selection to Microsoft Word, Excel or any OLE compliant application, as a text
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oItems LOCAL h LOCAL rs oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:Chart():SetProperty("PaneWidth",.T.,0) oG2antt:ColumnAutoResize := .F. oG2antt:ContinueColumnScroll := .F. rs := CreateObject("ADOR.Recordset") rs:Open("Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExG2antt\Sample\Access\misc.accdb",3/*adOpenStatic*/,3/*adLockOptimistic*/) oG2antt:DataSource := rs oG2antt:Columns:Item(2):LevelKey := "1" oG2antt:Columns:Item(3):LevelKey := "1" oG2antt:Columns:Item(4):LevelKey := "1" oG2antt:AutoDrag := 9/*exAutoDragCopyText*/ oG2antt:SingleSel := .F. oItems := oG2antt:Items() h := oItems:ItemByIndex(1) oItems:SetProperty("SelectItem",h,.T.) h := oItems:ItemByIndex(3) oItems:SetProperty("SelectItem",h,.T.) h := oItems:ItemByIndex(4) oItems:SetProperty("SelectItem",h,.T.) h := oItems:ItemByIndex(5) oItems:SetProperty("SelectItem",h,.T.) oItems:SetProperty("LockedItemCount",2/*exBottom*/,1) h := oItems:LockedItem(2/*exBottom*/,0) oItems:SetProperty("CellValue",h,0,"<font ;16>Click the selection and <b>wait to start dragging</b>, and then drop to Microsoft Word, Excel, ...") oItems:SetProperty("CellSingleLine",h,0,0/*exCaptionWordWrap*/) oItems:SetProperty("CellValueFormat",h,0,1/*exHTML*/) oItems:SetProperty("CellHAlignment",h,0,1/*CenterAlignment*/) oItems:SetProperty("ItemDivider",h,0) oItems:SetProperty("ItemDividerLineAlignment",h,2/*DividerTop*/) oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1405 |
Is it possible to change the indentation during the drag and drop
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oItems LOCAL h,h1,h2,h3 oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:VisualAppearance():Add(1,"c:\exontrol\images\normal.ebn") oG2antt:AutoDrag := 3/*exAutoDragPositionAny*/ oG2antt:LinesAtRoot := 0/*exNoLinesAtRoot*/ oG2antt:HasLines := 1/*exSolidLine*/ oG2antt:HasButtons := 3/*exWPlus*/ oG2antt:ShowFocusRect := .F. oG2antt:SelBackMode := 1/*exTransparent*/ oG2antt:Columns():Add("Task") oChart := oG2antt:Chart() oChart:ShowNonworkingDates := .F. oChart:FirstVisibleDate := "12/29/2000" oChart:SetProperty("PaneWidth",.F.,128) oChart:LevelCount := 2 oChart:Bars:Item("Task"):SetProperty("Color",0x1000000) oItems := oG2antt:Items() h := oItems:AddItem("Group 1") oItems:SetProperty("ItemBold",h,.T.) oItems:SetProperty("ItemDivider",h,0) h1 := oItems:InsertItem(h,,"Task 1") oItems:AddBar(h1,"Task","01/02/2001","01/04/2001","K1") h2 := oItems:InsertItem(h1,,"Task 2") oItems:AddBar(h2,"Task","01/15/2001","01/17/2001","K4") h2 := oItems:InsertItem(h1,,"Task 3") oItems:AddBar(h2,"Task","01/05/2001","01/07/2001","K2") oItems:AddLink("L1",h1,"K1",h2,"K2") oItems:SetProperty("Link","L1",12/*exLinkText*/,"L1") h3 := oItems:InsertItem(h,,"Task 3") oItems:AddBar(h3,"Task","01/08/2001","01/10/2001","K3") oItems:AddLink("L2",h2,"K2",h3,"K3") oItems:SetProperty("Link","L2",12/*exLinkText*/,"L2") oItems:SetProperty("ExpandItem",h,.T.) oItems:SetProperty("ExpandItem",h1,.T.) h := oItems:AddItem("Group 2") oItems:SetProperty("ItemBold",h,.T.) oItems:SetProperty("ItemDivider",h,0) oItems:SetProperty("LockedItemCount",2/*exBottom*/,1) h := oItems:LockedItem(2/*exBottom*/,0) oItems:SetProperty("CellValue",h,0,"Click a row, and move by dragging <b>up, down</b> to change the row's parent or <b>left,right</b> to increase or decrease the indentation.") oItems:SetProperty("CellSingleLine",h,0,0/*exCaptionWordWrap*/) oItems:SetProperty("CellValueFormat",h,0,1/*exHTML*/) oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1404 |
Is it possible to allow moving an item to another, but keeping its indentation
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oItems LOCAL h,h1,h2,h3 oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:VisualAppearance():Add(1,"c:\exontrol\images\normal.ebn") oG2antt:AutoDrag := 2/*exAutoDragPositionKeepIndent*/ oG2antt:LinesAtRoot := 0/*exNoLinesAtRoot*/ oG2antt:HasLines := 2/*exThinLine*/ oG2antt:ShowFocusRect := .F. oG2antt:Columns():Add("Task") oChart := oG2antt:Chart() oChart:ShowNonworkingDates := .F. oChart:FirstVisibleDate := "12/29/2000" oChart:SetProperty("PaneWidth",.F.,96) oChart:LevelCount := 2 oChart:Bars:Item("Task"):SetProperty("Color",0x1000000) oItems := oG2antt:Items() h := oItems:AddItem("Group 1") oItems:SetProperty("ItemDivider",h,0) oItems:SetProperty("ItemBold",h,.T.) h1 := oItems:InsertItem(h,,"Task 1") oItems:AddBar(h1,"Task","01/02/2001","01/04/2001","K1") h2 := oItems:InsertItem(h,,"Task 2") oItems:AddBar(h2,"Task","01/05/2001","01/07/2001","K2") oItems:AddLink("L1",h1,"K1",h2,"K2") oItems:SetProperty("Link","L1",12/*exLinkText*/,"L1") h3 := oItems:InsertItem(h,,"Task 3") oItems:AddBar(h3,"Task","01/08/2001","01/10/2001","K3") oItems:AddLink("L2",h2,"K2",h3,"K3") oItems:SetProperty("Link","L2",12/*exLinkText*/,"L2") oItems:SetProperty("ExpandItem",h,.T.) h := oItems:AddItem("Group 2") oItems:SetProperty("ItemBold",h,.T.) oItems:SetProperty("ItemDivider",h,0) oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1403 |
How can I change the row's position to another, by drag and drop. Is it possible
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oItems LOCAL h1,h2,h3 oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:VisualAppearance():Add(1,"c:\exontrol\images\normal.ebn") oG2antt:AutoDrag := 1/*exAutoDragPosition*/ oG2antt:Columns():Add("Task") oChart := oG2antt:Chart() oChart:ShowNonworkingDates := .F. oChart:FirstVisibleDate := "12/29/2000" oChart:SetProperty("PaneWidth",.F.,64) oChart:LevelCount := 2 oChart:Bars:Item("Task"):SetProperty("Color",0x1000000) oItems := oG2antt:Items() h1 := oItems:AddItem("Task 1") oItems:AddBar(h1,"Task","01/02/2001","01/04/2001","K1") h2 := oItems:AddItem("Task 2") oItems:AddBar(h2,"Task","01/05/2001","01/07/2001","K2") oItems:AddLink("L1",h1,"K1",h2,"K2") oItems:SetProperty("Link","L1",12/*exLinkText*/,"L1") h3 := oItems:AddItem("Task 3") oItems:AddBar(h3,"Task","01/08/2001","01/10/2001","K3") oItems:AddLink("L2",h2,"K2",h3,"K3") oItems:SetProperty("Link","L2",12/*exLinkText*/,"L2") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1402 |
Is it possible to scroll the control's content by clicking and moving the mouse up or down
PROCEDURE OnAddItem(oG2antt,Item) LOCAL oItems oItems := oG2antt:Items() oItems:AddBar(Item,"Task",oItems:CellValue(Item,2),oItems:CellValue(Item,4)) RETURN #include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL rs oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:AddItem := {|Item| OnAddItem(oG2antt,Item)} /*Occurs after a new Item has been inserted to Items collection.*/ oG2antt:BeginUpdate() oChart := oG2antt:Chart() oChart:FirstVisibleDate := "08/03/1994" oChart:SetProperty("PaneWidth",.F.,256) oChart:LevelCount := 2 oChart:UnitScale := 4096/*exDay*/ oChart:FirstWeekDay := 1/*exMonday*/ oChart:OverviewVisible := 2/*exOverviewShowAllVisible*/ oG2antt:ColumnAutoResize := .F. oG2antt:ContinueColumnScroll := .F. rs := CreateObject("ADOR.Recordset") rs:Open("Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExG2antt\Sample\Access\misc.accdb",3/*adOpenStatic*/,3/*adLockOptimistic*/) oG2antt:DataSource := rs oG2antt:AutoDrag := 16/*exAutoDragScroll*/ oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1401 |
How can I display bars so they fit the entire height ( height of the row )
|